মান ল করুন L1 এবং L2 নামে দুটি লিস্ট, আমাদের L1-এর একটি সংখ্যা এবং L2-এর একটি সংখ্যার মধ্যকার ন্যূনতম পার্থক্য খুঁজে বের করতে হবে।
যদি ইনপুট হয় L1 = [2, 7, 4], L2 = [16, 10, 11], তবে আউটপুট হবে ৩, কারণ ন্যূনতম পার্থক্য 10 - 7 = 3।
এটি সমাধান করতে আমরা নিম্নলিখিত ধাপগুলি অনুসরণ করব:
- L1 এবং L2 তালিকাগুলো সাজান
- ans := infinity
- i := 0, j := 0
- যখন i < L1-এর আকার এবং j < L2-এর আকার:
- ans := min(ans, |L1[i] - L2[j]|)
- যদি L1[i] < L2[j], i := i + 1
- অন্যথায়, j := j + 1
- ans ফেরত দিন
বेहतर বোঝার জন্য নিচের ইমপ্লিমেন্টেশনটি দেখুন:
উদাহরণ
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