本文主要是介绍Leetcode#154. 寻找旋转排序数组中的最小值 II,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
解题思路:
- 思路一:暴力搜索
- 思路二:二分搜索,当 mid > right时, left = mid+1;当mid < left时,right = mid;否则,right–;
//思路一
class Solution {
public:int findMin(vector<int>& nums) {for(int i = 1; i < nums.size(); ++i){if(nums[i] < nums[i - 1])return nums[i];}return nums[0];}
};
//思路二
class Solution {
public:int findMin(vector<int>& nums) {int left = 0;int right = nums.size() - 1;while(left < right){int mid = (left + right) / 2;if(nums[mid] > nums[right])left = mid + 1;else if(nums[mid] < nums[left])right = mid;elseright--;}return nums[left];}
};
这篇关于Leetcode#154. 寻找旋转排序数组中的最小值 II的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!