題目:乙個長度為n-1的遞增排序陣列中的所有數字都是唯一的,並且每個數字都在範圍0~n-1之內。在範圍0~n-1內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。
def get_missing_num(nums):
if len(nums)<1:
return -1
begin,end = 0,len(nums)-1
while begin注:使用二分查詢的方式,如果中間的數與索引相同,說明缺失的數字在右邊,讓begin指向這個位置;如果中間的數與索引不相同,說明缺失的數字在左邊,讓end指向這個位置。最終找到begin和end相鄰的兩個數。如果這兩個數也相差1,說明缺失的數字第乙個數0,否則,缺失的數為這兩個數的中間的數字。
劍指 面試題53 2 0 n 1中缺失的數字
題目 乙個長度為n 1的遞增排序陣列中的所有數字都是唯一的,並且每個數字都在範圍0 n 1之內。在範圍0 n 1內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。0 數 組長 度 10000 0 陣列長度 10000 0 數 組長度 1 0000 思路 二分查詢到某個值,滿足 時間複雜度o...
0 n 1中缺失的數字
乙個長度為n 1的遞增排序陣列中的所有數字都是唯一的,並且每個數字都在範圍0 n 1之內。在範圍0 n 1內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。分析 因為陣列是排序的,因此陣列中開始的一些數字與它們的下標相同。也就是說,0在下標為0的位置,1在下標為1的位置,以此類推。如果不在...
0 n 1中缺失的數字
題目 乙個長度為n 1的遞增陣列中所有的數字都是唯一的,並且每個數字都在範圍0 n 1之內,在範圍內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。第乙個方法先遍歷,求出所有資料的和,再利用公式,找出缺失的資料的值。第二個方法,利用二分查詢,找出缺失的數字。package helen.c ...