मान लीजिए हमारे पास एक सरणी A है। इस सरणी में कई संख्याएं हैं जो दो बार होती हैं। केवल एक तत्व एक बार पाया जा सकता है। हमें उस तत्व को उस सरणी से ढूंढना है। मान लीजिए A = [1, 1, 5, 3, 2, 5, 2], तो आउटपुट 3 होगा। चूंकि प्रत्येक संख्या दो बार है, हम उस तत्व को कैंसिल करने के लिए XOR कर सकते हैं। क्योंकि हम जानते हैं y XOR y = 0।
हल करने के चरण
- एक चर res = 0 लें
- सरणी A में प्रत्येक तत्व e के लिए, res = res XOR e करें
- res वापस करें
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
class Solution(object):
def singleNumber(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
ans = nums[0]
for i in range(1,len(nums)):
ans ^=nums[i]
return ans
ob1 = Solution()
print(ob1.singleNumber([1,1,5,3,2,5,2]))
इनपुट
nums = [1,1,5,3,2,5,2]
आउटपुट
3