c_cpp 153.在旋转分类数组中查找最小值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 153.在旋转分类数组中查找最小值相关的知识,希望对你有一定的参考价值。
class Solution {
public:
int findMin(vector<int>& nums) {
if(nums.size() <= 1)
return nums[0];
for(int i = 0;i < nums.size()-1;i++){
if(nums[i+1] < nums[i])
return nums[i+1];
}
return nums[0];
}
};
//使用二分法进行查找
class Solution {
public:
int findMin(vector<int>& nums) {
if(nums.size() <= 1)
return nums[0];
int start = 0;
int end = nums.size() - 1;
int mid = start;
while(nums[start] >= nums[end]){
if(end - start == 1){
mid = end;
break;
}
mid = (start + end)/2;
if(nums[mid] >= nums[start])
start = mid;
else if(nums[mid] <= nums[end])
end = mid;
}
return nums[mid];
}
};
//0ms 最优算法
class Solution {
public:
int findMin(vector<int>& nums) {
int start=0,end=nums.size()-1;
while (start<end) {
if (nums[start]<nums[end])
return nums[start];
int mid = (start+end)/2;
if (nums[mid]>=nums[start]) {
start = mid+1;
} else {
end = mid;
}
}
return nums[start];
}
};
以上是关于c_cpp 153.在旋转分类数组中查找最小值的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode: 153. 寻找旋转排序数组中的最小值(二分查找)
153. 寻找旋转排序数组中的最小值-二分查找
Leetcode No.153 寻找旋转排序数组中的最小值(二分查找)
153. 寻找旋转排序数组中的最小值
leetcode 153. Find Minimum in Rotated Sorted Array 寻找旋转排序数组中的最小值(中)
二分查找4寻找旋转排序数组中的最小值 II(hard)