কম্পিউটার টিউটোরিয়াল

পাইথনে ফол্টি তালিকা থেকে বাদ পড়া সঠিক সেন্সর মান বের করার প্রোগ্রাম

দুটি তালিকা nums1 এবং nums2 দেওয়া আছে যা সেন্সর মেট্রিক্স প্রতিনিধিত্ব করে। প্রতিটি তালিকায় ইউনিক মান আছে। একটা তালিকা সঠিক, অন্যটি ফল্টি। ফল্টি তালিকায় শেষ মান ছাড়া একটি মান বাদ পড়েছে এবং শেষে একটি ভুল মান যোগ করা হয়েছে। বাদ পড়া সঠিক মানটি বের করতে হবে।

সমস্যা উদাহরণ

ইনপুট: nums1 = [5, 10, 15], nums2 = [10, 15, 8]
আউটপুট: 5

ব্যাখ্যা: nums1 সঠিক: [5, 10, 15]। nums2-এ ৫ বাদ পড়ে গেছে এবং শেষে ৮ যোগ করা হয়েছে।

সমাধানের পদ্ধতি (বাইনারি সার্চ)

  1. low := 0, high := len(nums1) - 1
  2. যখন low < high:
    • mid = (low + high) // 2
    • যদি nums1[mid] == nums2[mid] হলে low = mid + 1
    • অন্যথায় high = mid
  3. যদি 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

  1. পাইথনে ট্রি থেকে একটি এজ কাট করে দুটি সাবট্রিের নোড ভ্যালু সামের পার্থক্য মিনিমাইজ করা

  2. পাইথন প্রোগ্রাম লিস্টে সবচেয়ে ছোট সংখ্যা বের করা

  3. পাইথন প্রোগ্রাম লিস্টে সবচেয়ে বড় সংখ্যা বের করা

  4. পাইথনে লিস্ট থেকে N বড় এলিমেন্ট বের করা