ধরুন আমাদের দুটি অ্যারে আছে arr1 এবং arr2। একটি তালিকার XOR যোগফল হল এর সমস্ত উপাদানের বিটওয়াইজ XOR। যদি তালিকায় শুধুমাত্র একটি উপাদান থাকে, তাহলে এর XOR যোগফলটি নিজেই উপাদান হবে। এখন, বিবেচনা করুন তালিকাটিতে প্রতিটি সূচক জোড়ার (i, j) জন্য arr1[i] এবং arr2[j] (bitwise AND) এর ফলাফল রয়েছে যেখানে 0 <=i
সুতরাং, যদি ইনপুটটি arr1 =[5,3,4] arr2 =[2,6] এর মত হয়, তাহলে আউটপুট হবে 0 কারণ তালিকাটি হল [5 এবং 2, 5 এবং 6, 3 এবং 2, 3 এবং 6। , 4 এবং 2, 4 এবং 6] =[0, 4, 2, 2, 0, 4], এখন XOR যোগফল হল [0 XOR 4 XOR 2 XOR 2 XOR 0 XOR 4] =0
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
xor1 :=0
-
xor2 :=0
-
প্রতিটি a এর জন্য a in arr1, do
-
xor1 :=xor1 XOR a
-
-
প্রতিটি a in arr2 এর জন্য করুন
-
xor2 :=xor2 XOR a
-
-
xor1 এবং xor2
ফেরত দিন
উদাহরণ
আসুন আরও ভালভাবে বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখি
def solve(arr1, arr2): xor1 = 0 xor2 = 0 for a in arr1: xor1 ^= a for a in arr2: xor2 ^= a return xor1 & xor2 arr1 = [5,3,4] arr2 = [2,6] print(solve(arr1, arr2))
ইনপুট
[5,3,4], [2,6]
আউটপুট
0