题目
描述
从 0,1,2,…,n 这 n+1 个数中选择 n 个数,选择出的数字依然保持有序,找出这 n 个数中缺失的那个数,要求 O(n) 或 O(log(n)) 并尽可能小。
输入:
[0,1,2,3,4,5,7]
输出:
6
输入:
[0,2,3]
输出:
1
Java代码
public class Solution {
public int solve (int[] a) {
if(a == null || a.length == 0) {
return -1;
}
for (int i = 0; i < a.length - 1; i++) {
if (a[i + 1] - a[i] > 1) return a[i] + 1;
}
return a[0] == 0 ? a[a.length - 1] + 1 : 0;
}
}