मान लीजिए कि हमारे पास एक सरणी A है। इस सरणी में अलग-अलग संख्याएँ हैं जो दो बार आती हैं। लेकिन केवल एक ही संख्या होती है जो एक बार आती है। हमें उस ऐरे से उस एलीमेंट को ढूंढना है।
मान लीजिए ए =[1, 1, 5, 3, 2, 5, 2], तो आउटपुट 3 होगा। चूंकि प्रत्येक संख्या दो बार होती है, हम उस तत्व को रद्द करने के लिए एक्सओआर कर सकते हैं। क्योंकि हम जानते हैं y XOR y =0
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे।
-
एक चर रेस =0 लें
-
सरणी ए में प्रत्येक तत्व ई के लिए, प्रीफॉर्म रेस:=रेस एक्सओआर ई
-
रिटर्न रेस
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
class Solution(object): def singleNumber(self, nums): 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]))
इनपुट
[1,1,5,3,2,5,2]
आउटपुट
3