class Solution {
public:
int minNumberInRotateArray(vector<int> rotateArray) {
if(rotateArray.size()==0)return 0;
int left=0,right=rotateArray.size()-1,middle=-1;
while(rotateArray[left]>=rotateArray[right])
{
if(right-left==1)
{
middle=right;
break;
}
middle=((right-left)>>1)+left;//移位必须加括号
if(rotateArray[middle]>=rotateArray[left])left=middle;
else if(rotateArray[middle]<=rotateArray[left]) right=middle;
}
return rotateArray[middle];
}
};
11:旋转数组的最小数字
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 本系列导航:剑指offer(第二版)java实现导航帖 面试题11:旋转数组的最小数字 题目要求:把一个数组最开始...