题解 | #旋转数组的最小数字#
旋转数组的最小数字
https://www.nowcoder.com/practice/9f3231a991af4f55b95579b44b7a01ba
缩小判断域
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @param numsLen int nums数组长度 * @return int整型 */ int minNumberInRotateArray(int* nums, int numsLen ) { // write code here int left = 0; int right = numsLen-1; int mid = 0; while(left<right){ mid = (left+right)/2; //mid>right 一定在右边 if(nums[mid]>nums[right]){ left = mid + 1; //mid<right 一定在左边 }else if(nums[mid]<nums[right]){ right = mid; //缩小判断区间 }else{ right --; } } return nums[left]; }