从 0,1,2,...,n 这 n+1 个数中选择 n 个数,选择出的数字依然保持有序,找出这 n 个数中缺失的那个数,要求 O(n) 或 O(log(n)) 并尽可能小。
例如:0,1,2,3,5,6——中缺少了数字4,代码如下:
int[] a={0,1,2,3,5,6}; //len为数组a的长度 int len=a.length; //数组原长度乘数组长度+1再除2 int sum1=(len)*(len+1)/2; //定义一个基础的值,用来输出缺少的数字 int sum2=0; //for循环让数组里的数字相加赋值给sum2 for(int i=0;i<len;i++){ sum2+=a[i]; } System.out.println(sum1-sum2);
今天敲的代码,明天就忘