approach one O(log n)
Intuition:we solve this by appliying binary search technique\n Describe your first thoughts on how to solve this problem. \n\n# Approach\nif the arr[0] is less 
# Intuition:we solve this by appliying binary search technique\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\nif the arr[0] is less then arr[len(arr)-1] then it is already in sorted order \nso return arr[0]\nelse:\nperform binary search and find the min using while until left<right\n1)find mid if the arr[mid-1]>arr[mid] then in sorted array of rotation arr[mid] is the min of all\n2)if arr[mid+1] is less than mid then the arr[mid+1] is the small\n3) perform the binary search until we return the ans or left>right\n4)if we did not get it by using arr[mid] take a minn variable and assing the min values to it in the while loop (arr[mid] value in iterations is lesss than minn)\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:O(log N)\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:O(1)\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution:\n    def findMin(self, nums: List[int]) -> int:\n        left=0\n        right=len(nums)-1\n        minn=nums[0]\n        if nums[0]<=nums[right]:\n            return nums[0]\n        while True:\n            if left>=right:\n                return minn\n            mid=(left+right)//2\n            if(nums[mid]<minn):\n                minn=nums[mid]\n            if nums[mid+1]<nums[mid]:\n                return nums[mid+1]\n            if (nums[mid-1]>nums[mid]):\n                return nums[mid]\n            if nums[mid]>nums[right]:\n                left=mid+1\n            if nums[mid]<nums[right]:\n                right=mid-1\n     \n\n     \n            \n\n```
['Python3']