ধরুন আমাদের দুটি অ্যারে আছে 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