দুটি তালিকা nums1 এবং nums2 দেওয়া আছে যা সেন্সর মেট্রিক্স প্রতিনিধিত্ব করে। প্রতিটি তালিকায় ইউনিক মান আছে। একটা তালিকা সঠিক, অন্যটি ফল্টি। ফল্টি তালিকায় শেষ মান ছাড়া একটি মান বাদ পড়েছে এবং শেষে একটি ভুল মান যোগ করা হয়েছে। বাদ পড়া সঠিক মানটি বের করতে হবে।
সমস্যা উদাহরণ
ইনপুট: nums1 = [5, 10, 15], nums2 = [10, 15, 8]
আউটপুট: 5
ব্যাখ্যা: nums1 সঠিক: [5, 10, 15]। nums2-এ ৫ বাদ পড়ে গেছে এবং শেষে ৮ যোগ করা হয়েছে।
সমাধানের পদ্ধতি (বাইনারি সার্চ)
low := 0,high := len(nums1) - 1- যখন
low < high:mid = (low + high) // 2- যদি
nums1[mid] == nums2[mid]হলেlow = mid + 1 - অন্যথায়
high = mid
- যদি
nums1[low + 1] == nums2[low]হলেnums1[low]রিটার্ন করুন, অন্যথায়nums2[low]
পাইথন কোড
def solve(nums1, nums2):
low, high = 0, len(nums1) - 1
while low < high:
mid = (low + high) // 2
if nums1[mid] == nums2[mid]:
low = mid + 1
else:
high = mid
return nums1[low] if nums1[low + 1] == nums2[low] else nums2[low]
nums1 = [5, 10, 15]
nums2 = [10, 15, 8]
print(solve(nums1, nums2)) # আউটপুট: 5
টেস্ট কেস
ইনপুট: [5, 10, 15], [10, 15, 8]
আউটপুট: 5