ধরুন আমাদের কাছে সংখ্যার একটি তালিকা আছে যার নাম nums এবং আরেকটি মান লক্ষ্য। আমাদের জোড়ার সর্বোচ্চ সংখ্যা খুঁজে বের করতে হবে যেখানে প্রতিটি জোড়ার জন্য i
সুতরাং, যদি ইনপুট হয় সংখ্যা =[2, 4, 6, 10, 11], লক্ষ্য =5, তাহলে আউটপুট হবে 2, যেমন আমরা জোড়া পেতে পারি:(2, 6), (5, 10)
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- N :=A এর আকার
- তালিকা A সাজান
- উত্তর :=0
- j :=N / 2
- আমি 0 থেকে N / 2 রেঞ্জের জন্য, কর
- যখন j
- j :=j + 1
- যখন j
- যদি j
- উত্তর :=উত্তর + ১
- j :=j + 1
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
class Solution: def solve(self, A, target): N = len(A) A.sort() ans = 0 j = N >> 1 for i in range(N >> 1): while j < N and A[j] - A[i] < target: j += 1 if j < N: ans += 1 j += 1 return ans ob = Solution() nums = [2, 4, 6, 10, 11] target = 5 print(ob.solve(nums, target))
ইনপুট
[2, 4, 6, 10, 11], 5
আউটপুট
2