nikunjsoni

154

May 18th, 2021
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.56 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int findMin(vector<int>& nums) {
  4.         int n = nums.size();
  5.         if(n == 1) return nums[0];
  6.         if(nums[0] < nums[n-1]) return nums[0];
  7.  
  8.         int left = 0, right=n-1;
  9.         while(left < right){
  10.             int mid = (left+right)/2;
  11.             if(nums[mid] > nums[right])
  12.                 left = mid+1;
  13.             else if(nums[mid] < nums[right])
  14.                 right = mid;
  15.             else if(nums[mid] == nums[right]){
  16.                 right--;
  17.             }
  18.         }
  19.         return nums[right];
  20.     }
  21. };
Advertisement
Add Comment
Please, Sign In to add comment