Leetcode 153 154

  1. 寻找旋转排序数组中的最小值
class Solution {
public:
    int findMin(vector<int>& nums) {
       int l=0,r=nums.size()-1,ans=-1;
       while(l<r){
           int mid=(r-l)/2+l;
           if(nums[mid]<nums[r]){
               r=mid;
           }
           else l=mid+1;
       }
       return nums[l];
    }
};
  1. 寻找旋转排序数组中的最小值 II
class Solution {
public:
    int findMin(vector<int>& nums) {
       int l=0,r=nums.size()-1;
       while(l<r){
           int mid=(r-l)/2+l;
           if(nums[mid]<nums[r]){
               r=mid;
           }
           else if(nums[mid]>nums[r]){
               l=mid+1;
           }
           else r--;
       }
       return nums[l];
    }
};

你可能感兴趣的:(leetcode,leetcode,算法,数据结构)