您的位置:首页 > 其它

[刷题]Find Minimum in Rotated Sorted Array

2015-07-19 11:30 218 查看
[LintCode]Find Minimum in Rotated Sorted Array

public class Solution {
/**
* @param num: a rotated sorted array
* @return: the minimum number in the array
*/
public int findMin(int[] num) {
// 2015-07-19 binary search
if (num == null || num.length == 0) {
return 0; // throw exception
}
if (num.length == 1) {
return num[0];
}

int start = 0;
int end = num.length - 1;
while (start + 1 < end) {
int mid = (start + end) / 2;
if (num[start] < num[end]) {
return num[start];
} else {
if (num[start] < num[mid]) {
start = mid;
} else {
end = mid;
}
}
}

if (num[start] < num[end]) {
return num[start];
} else {
return num[end];
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: