मान लीजिए कि हमारे पास दो सरणियाँ (गैर-बढ़ती) nums1 और nums2 हैं। सूचकांक जोड़ी (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)
-
जे:=जे + 1
-
-
अन्यथा,
-
जे:=जे + 1
-
मैं :=मैं + 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