arduino_midi_player/Midi/music-box-nv32-master/BinarySearch.py
2025-03-24 14:30:56 +08:00

22 lines
483 B
Python

# 查找最后一个等于或者大于key的元素
def findLastEqualSmaller(arr, key):
left = 0
right = len(arr) - 1
length = len(arr)
# 这里必须是 <=
while left <= right:
mid = (left + right) // 2
if arr[mid] >= key:
right = mid - 1
else:
left = mid + 1
if left>=length:
left=length-1
return left
arr=[6,3,4,1,9]
idx = findLastEqualSmaller(arr,11)
print('Idx:',idx)
print('Value:',arr[idx])