Solution
C++ []\nclass Solution {\npublic:\n    int findMin(vector<int>& nums) {\n        int n = nums.size();\n        int low=0, high=n-1;\n        \n        while(low
```C++ []\nclass Solution {\npublic:\n    int findMin(vector<int>& nums) {\n        int n = nums.size();\n        int low=0, high=n-1;\n        \n        while(low<high){\n            if(nums[low] <= nums[high]) return nums[low];\n            int mid = low + (high-low)/2;\n            if(nums[low] > nums[mid]){\n                high=mid;\n            } else if(nums[mid] > nums[high]) {\n                low=mid+1;\n            } \n        }\n        if(nums[low] <= nums[high]) return nums[low];\n        return -1;\n    }\n};\n```\n\n```Python3 []\nclass Solution:\n    def findMin(self, nums: List[int]) -> int:\n        l, r = 0, len(nums) - 1\n\n        while l < r:\n            m = l + (r - l)\n\n            if nums[m] > nums[r]:\n                l = m + 1\n             \n            else:\n                 r = m \n\n        return nums[l]    \n```\n\n```Java []\nclass Solution {\n  public int findMin(int[] nums) {\n    int l = 0;\n    int r = nums.length - 1;\n\n    while (l < r) {\n      final int m = (l + r) / 2;\n      if (nums[m] < nums[r])\n        r = m;\n      else\n        l = m + 1;\n    }\n\n    return nums[l];\n  }\n}\n```\n
['C++', 'Java', 'Python3']