在一个长度为n的递增数组中,数组中元素范围是0 ~ n-1,如何在这个递增连续数组中查找缺失的数字?
分析下:
1. 排序数组中的搜索算法,首先想到的就是二分法查找
2....丢失的数字之前的左子数组:nums[m] = m, 需要找到第一个nums[m] > m的数组索引值即可....继续计算m指针值 m = (4 + 6) /2 =5;
3. num[5] 的前一位的元素值和索引值是否相同,但采用贪心策略,认为也是不同的,所以右指针移动位置为...继续计算m指针值,m= (l + r)/2=(5 + 5)/2=5;
这时发现左,中,右三指针都指向了num[4], 但4并不是我们想要的值....综上,对于有序数组的查找,一般都会使用二分法查找.在查找数据的时候,注意左右边界指针的移动.以及遍历标记(l<=j)即可.