您的位置:首页 > 其它

[leetCode 第1题] -- Find Minimum in Rotated Sorted Array

2014-10-19 11:25 513 查看
题目链接: Find Minimun in Rotated Sorted Array
题目意思: 给定一个旋转数组,找出这个旋转数组的最小元素。旋转数组的定义是,把一个从小到大排好序的数组,取一部份放到末尾,例如0 1 2 4 5 6 7 取 0 1 2放到末尾,变成旋转数组4 5 6 7 0 1 2

代码: 
class Solution {
public:
int findMin(vector<int> &num);
};

int Solution::findMin(vector<int> &num) {
int length = num.size();
if (length == 1) {
return num[0];
}
int p1 = 0;
int p2 = length -1;
while (p1 < p2) {
if (p1+1 == p2) {
return min(num[p1], num[p2]);
}
int mid = (p1 + p2) >> 1;
if (num[mid] < num[p2]) {
p2 = mid;
}
else {
p1 = mid;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: