在 Python 中查找一对值之间的最大距离的程序
假设我们有两个数组(非增长)nums1和nums2。如果i<=j且nums1[i]<=nums2[j]为真,则索引对(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),这里对于(2,3)或(3,4) 让我们看看以下实现以获得更好的理解-示例
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