ধরুন আমাদের দুটি তালিকা 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