✅✅100% Faster || 0ms || Optimal approach
\n\n\n\n\nclass Solution {\npublic:\n    int findMin(vector<int>& arr) {\n        int n = arr.size();\n        int mini = INT_MAX;\n        int low = 0, high = 
![image](https://assets.leetcode.com/users/images/b0ff0d83-2079-47f2-a568-3dd71a271a4f_1665532212.5354164.png)\n![image](https://assets.leetcode.com/users/images/777aed88-e46f-467b-8350-5c8ca8882cc1_1665532229.7139807.gif)\n\n\n```\nclass Solution {\npublic:\n    int findMin(vector<int>& arr) {\n        int n = arr.size();\n        int mini = INT_MAX;\n        int low = 0, high = n-1;\n        while(low <= high){\n            long int mid = low + (high-low)/2;\n            if(arr[mid] >= arr[low]){\n                mini = min(mini, arr[low]);\n                low = mid+1;\n            }\n            else{\n                mini = min(mini, arr[mid]);\n                high = mid-1;\n            }\n        }\n        return mini;\n    }\n};\n/* If you like it please upvote */\n```\n\nIf you like it please upvote
['C', 'Binary Tree']