class Solution { public: int findMin(vector<int>& nums) { int l=0; int r=nums.size()-1; while(l<r){ int mid=(l+r)/2; if(l==mid||r==mid) return min(nums[l], nums[r]); if(nums[mid]>nums[r]){ l=mid; continue; } if(nums[mid]<nums[l]){ r=mid; continue; } if(nums[l]<nums[r]) break; } return nums[l]; } };