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