ধরুন আমাদের একটি অ্যারে আছে। এই অ্যারেতে এমন অনেক সংখ্যা রয়েছে যা দুবার আসে। শুধুমাত্র একটি উপাদান একক সময় পাওয়া যাবে. আমাদের সেই অ্যারে থেকে সেই উপাদানটি খুঁজে বের করতে হবে। ধরুন A =[1, 1, 5, 3, 2, 5, 2], তাহলে আউটপুট 3 হবে। যেহেতু প্রতিটি সংখ্যা দুইবার আছে, আমরা সেই উপাদানটিকে বাতিল করতে XOR সম্পাদন করতে পারি। কারণ আমরা y XOR y =0
জানিএটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব৷
- একটি পরিবর্তনশীল res =0 নিন
- অ্যারের প্রতিটি উপাদান e এর জন্য, preform res =res XOR e
- রিটার্ন রিটার্ন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য নিচের বাস্তবায়নটি দেখি -
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