《2023王道数据结构》书中P18,综合应用题11解法。
时间复杂度与空间复杂度均为O(1),只需做数次比较即可。附上题目及python程序。
题目:
def search_mid(a, b):
l = len(a)
l1 = int(np.floor(l/2)-1)
mid1 = a[l1]
mid2 = b[l1]
if mid2 > mid1:
if (l1+1) % 2 == 0:
return mid2
if mid1 > b[l1-1]:
return mid1
else:
return b[l1-1]
else:
if (l1+1) % 2 == 0:
return mid1
if mid2 > a[l1-1]:
return mid2
else:
return a[l1-1]