Short and Clear | C++
\nclass Solution {\npublic:\n    int findMin(vector<int>& nums) {\n        int l = 0,r = nums.size()-1;\n        while(l<=r){\n            int mid = (l+r)/2;\n 
```\nclass Solution {\npublic:\n    int findMin(vector<int>& nums) {\n        int l = 0,r = nums.size()-1;\n        while(l<=r){\n            int mid = (l+r)/2;\n            if((mid-1<0 or nums[mid-1]>nums[mid]) and (mid+1==nums.size() or nums[mid]<nums[mid+1]))\n                return nums[mid];\n            if(nums[mid]>nums.back())\n                l = mid + 1;\n            else\n                r = mid - 1;\n        }\n        return 0;\n    }\n};\n```
[]