সমস্যা বিবরণ
একটি লিস্টে একটি সংখ্যা অড (বিজোড়) বার আয়ত্ত হয়, বাকিগুলো ইভেন (জোড়) বার। সেই সংখ্যাটি ল্যাম্বডা ও রিডিউস ফাংশন ব্যবহার করে বের করুন।
উদাহরণ
listA = [12, 34, 12, 12, 34] → আউটপুট: 12
১২: ৩ বার (অড), ৩৪: ২ বার (ইভেন)।
লজিক: XOR অপারেশন
a ^ a = 0,a ^ 0 = a।- ইভেন বার আয়ত্ত সংখ্যাগুলো XOR করলে ০ হয়ে যায়।
- অড বার আয়ত্ত সংখ্যাটি অবশিষ্ট থাকে।
পাইথন বাস্তবায়ন
from functools import reduce
def odd_count(lst):
return reduce(lambda x, y: x ^ y, lst)
listA = [12, 34, 12, 12, 34]
print("Given list:", listA)
print("Element occurring odd times:", odd_count(listA)) # 12
আউটপুট
12