我試圖實現與下面的函數二進制搜索:無限循環
def buggy_binary_search(input, key):
low = 0
high = len(input)-1
mid = (low + high)/2
while low <= high:
if input[mid] == key:
return mid
if input[mid] > key:
high = mid - 1
else:
low = mid
return -1
運行時,上面的功能,進入一個無限循環。我該如何糾正?
你應該在while循環中更新 –
我應該更新低值嗎?@ Dmitry Bychenko – Ramya
你應該把「mid =(low + high)/ 2」放入while循環中;你應該更新低和高值(你這樣做)以及 –