个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字
都在范围0 ~ n-1之内。在范围0 ~ n-1内的n个数字中有且只有个数字不在该数组中
请找出这个数字。
function foo(arr){if(!Array.isArray(arr)){return console.log('可以做类型转换,不做处理了')}let left = 0;let right = arr.length;let mid;function fn (){mid = Math.floor((left + right) / 2);if(left>= right) return console.log(`不在数组中的数字是:${mid+1}`);if(arr[mid] <= mid){left = mid + 1;} else {right = mid -1;}return fn();}fn()}foo([0,1,3,4,5]); // 2foo([0,1,2,3,5]); // 4foo([0,1,2,3,4,5,7]); // 6foo([0,1,2,3,4,5,6,8]); // 7
