0
這段代碼有什麼問題?無法使用二分查找搜索連續數組中缺失的數字。在排序數組中找到缺失的數字
a = [1,2,3,4,5,7,8]
lent = len(a)
beg =0
end = lent-1
while beg < end:
mid = (beg + end)/2
if (a[mid]-a[beg])==(mid - beg):
beg = mid + 1
else:
end = mid -1
if(beg == end):
mid = (beg + end)/2
print "missing"
print a[0]+ beg
不適用於a = [1,2,3,4,5,7,8,9,10]。結果應該仍然是6,但給9 9. – katrik
是的,你是對的。固定。這是因爲,通常我們使用二分查找來查找現有的元素:) – Sergius