ধরুন আমাদের দুটি অ্যারে (অ-বর্ধমান) সংখ্যা 1 এবং সংখ্যা 2 আছে। সূচক জোড়া (i, j) সঙ্গে 0 <=i
সুতরাং, যদি ইনপুট হয় nums1 =[60,40,15,10,5], nums2 =[115,30,25,15,10], তাহলে আউটপুট হবে 1 কারণ, এখানে বৈধ জোড়া (0,0) ), (2,2), (2,3), (3,3), (3,4) এবং (4,4), এখানে সর্বোচ্চ দূরত্ব হল 1 জোড়া (2,3) বা জোড়া (3, 4)
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
যদি nums1 এর শেষ উপাদান> nums2 এর প্রথম eoelement, তারপর
-
রিটার্ন 0
-
-
i :=0, j :=0 এবং max_dist :=0
-
যখন আমি <সংখ্যা1 এর আকার, কর
-
যদি j
-
max_dist :=max_dist এর সর্বোচ্চ এবং (j-i)
-
j :=j + 1
-
-
অন্যথায়,
-
j :=j + 1
-
i :=i + 1
-
-
-
রিটার্ন max_dist
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(nums1, nums2): if nums1[len(nums1)-1] > nums2[0]: return 0 i = j = max_dist = 0 while i < len(nums1): if j < len(nums2) and nums1[i] <= nums2[j]: max_dist = max(max_dist, j-i) j += 1 else: j += 1 i += 1 return max_dist nums1 = [60,40,15,10,5] nums2 = [115,30,25,15,10] print(solve(nums1, nums2))
ইনপুট
[60,40,15,10,5], [115,30,25,15,10]
আউটপুট
1