给定一个包含 0, 1, 2, …, n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。
示例 1:
输入: [3,0,1]
输出: 2
示例 2:
输入: [9,6,4,2,3,5,7,0,1]
输出: 8
说明:
你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现?
1var missingNumber = function (nums) {
2 var newNums = nums.sort((a, b) => a - b) // a- b 而不是 a > b, 后者会出问题
3 var l = newNums.length
4 for (var i = 0; i < l; i++) {
5 if (newNums[i] !== i) return i
6 }
7 return nums.length // 如果是[0, 1]这样类型的那么输出 2
8}
应该使用二分查找,优化?