0 n 1中缺失的數字

2021-09-26 04:20:20 字數 692 閱讀 5078

題目:乙個長度為n-1的遞增陣列中所有的數字都是唯一的,並且每個數字都在範圍0~n-1之內,在範圍內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。

第乙個方法先遍歷,求出所有資料的和,再利用公式,找出缺失的資料的值。

第二個方法,利用二分查詢,找出缺失的數字。

package helen.c;

public class missingnumber ;

int num1=;

int num2=;

system.out.println(findnum(num));

system.out.println(findnum(num1));

system.out.println(findnum(num2));

}private static int findnum(int num)

return findnumcore(num,0,num.length-1);

}//0,1,3,4,5,6,7,8,9

private static int findnumcore(int num, int start, int end)

int mid=(start+end)>>1;

if(num[mid]==mid)else

else }}

}

0 n 1中缺失的數字

乙個長度為n 1的遞增排序陣列中的所有數字都是唯一的,並且每個數字都在範圍0 n 1之內。在範圍0 n 1內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。分析 因為陣列是排序的,因此陣列中開始的一些數字與它們的下標相同。也就是說,0在下標為0的位置,1在下標為1的位置,以此類推。如果不在...

0 n 1中缺失的數字

題目 乙個長度為n 1的遞增排序陣列中的所有數字都是唯一的,並且每個數字都在範圍0 n 1之內。在範圍0 n 1內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。示例 1 輸入 0,1,3 輸出 2 示例 2 輸入 0,1,2,3,4,5,6,7,9 輸出 8 思路 判斷當前的數字是否與當...

0 n 1中缺失的數字

題目 乙個長度為n 1的遞增排序陣列中的所有數字都是唯一的,並且每個數字都在範圍0 n 1之內。在範圍0 n 1內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。示例 1 輸入 0,1,3 輸出 2 示例 2 輸入 0,1,2,3,4,5,6,7,9 輸出 8 限制 1 陣列長度 1000...