153. 寻找旋转排序数组中的最小值
程序员文章站
2024-03-20 17:32:16
...
题目
假设按照升序排序的数组在预先未知的某个点上进行了旋转。
( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。
请找出其中最小的元素。
你可以假设数组中不存在重复元素。
示例 1:
输入: [3,4,5,1,2]
输出: 1
示例 2:
输入: [4,5,6,7,0,1,2]
输出: 0
这个是继小米那个题目做完我刚好看到了,代码都不用怎么多改。
我的思路:和上一个题目一样,找最小数还容易很多。
我的代码:
class Solution {
public int findMin(int[] num) {
int res = 0;
int index = num.length;
if(num.length==1){
res = num[0];
return res;
}
for(int i = 1 ;i < num.length ; i ++){
if(num[i-1]>num[i]){
index = i;
break;
}
}
if(index==num.length){
res = num[0];
}else{
res = num[index];
}
// 返回处理后的结果
return res;
}
}
上一篇: 二分查找细节问题
下一篇: 后端生成excel并下载的代码摘要