ধরুন আমাদের দুটি তালিকা L1 এবং L2 আছে, আমাদের L1 থেকে একটি সংখ্যা এবং L2 থেকে একটি সংখ্যার মধ্যে ক্ষুদ্রতম পার্থক্য খুঁজে বের করতে হবে৷
সুতরাং, যদি ইনপুট হয় L1 =[2, 7, 4], L2 =[16, 10, 11], তাহলে আউটপুট হবে 3, যেহেতু ক্ষুদ্রতম পার্থক্য হল 10 - 7 =3৷
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- তালিকা L1 সাজান এবং তালিকা L2 সাজান
- উত্তর :=অসীম
- i :=0, j :=0
- যখন i <সাইজ L1 এবং j <সাইজ L2, do
- উত্তর :=সর্বনিম্ন উত্তর এবং |L1[i] - L2[j]|
- যদি L1[i]
- i :=i + 1
- অন্যথায়,
- j :=j + 1
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
class Solution: def solve(self, L1, L2): L1.sort() L2.sort() ans = float("inf") i = j = 0 while i < len(L1) and j < len(L2): ans = min(ans, abs(L1[i] - L2[j])) if L1[i] < L2[j]: i += 1 else: j += 1 return ans ob = Solution() L1 = [2, 7, 4] L2 = [16, 10, 11] print(ob.solve(L1, L2))
ইনপুট
[2, 7, 4], [16, 10, 11]
আউটপুট
3