classSolution: defmaxDistance(self, nums1: List[int], nums2: List[int]) -> int: # 一、粗暴低效的二分法解法 defsearch_II(i): left = i right = len(nums2)-1 while left<=right: # 找最右 mid = (left+right)>>1 if nums1[i]<=nums2[mid]: left = mid+1 else: right = mid-1 return left-1-i if left>i else -1 result = [] for i inrange(len(nums1)): result.append(search_II(i)) returnmax(result) ifmax(result)!=-1else0 # 二、更加粗暴的解法 # def search(left,right): # for distance in range(right-left,-1,-1): # for L in range(0,min(right-distance+1,len(nums1)),1): # R = L+distance # # print(L,R,end=' ') # if nums1[L] <= nums2[R]: # return distance # return 0 # return search(0,len(nums2)-1)