find_minimum_in_rotated_sorted_array

 1# @leet start
 2class Solution:
 3    def findMin(self, nums: list[int]) -> int:
 4        l, r = 0, len(nums) - 1
 5
 6        while nums[l] > nums[r]:
 7            m = (l + r) // 2
 8
 9            if nums[m] < nums[r]:
10                r = m
11            else:
12                l = m + 1
13
14        return nums[l]
15
16
17# @leet end
18q = Solution().findMin
19
20
21def test():
22    assert q([3, 4, 5, 1, 2]) == 1
class Solution:
 3class Solution:
 4    def findMin(self, nums: list[int]) -> int:
 5        l, r = 0, len(nums) - 1
 6
 7        while nums[l] > nums[r]:
 8            m = (l + r) // 2
 9
10            if nums[m] < nums[r]:
11                r = m
12            else:
13                l = m + 1
14
15        return nums[l]
def findMin(self, nums: list[int]) -> int:
 4    def findMin(self, nums: list[int]) -> int:
 5        l, r = 0, len(nums) - 1
 6
 7        while nums[l] > nums[r]:
 8            m = (l + r) // 2
 9
10            if nums[m] < nums[r]:
11                r = m
12            else:
13                l = m + 1
14
15        return nums[l]
def q(nums: list[int]) -> int:
 4    def findMin(self, nums: list[int]) -> int:
 5        l, r = 0, len(nums) - 1
 6
 7        while nums[l] > nums[r]:
 8            m = (l + r) // 2
 9
10            if nums[m] < nums[r]:
11                r = m
12            else:
13                l = m + 1
14
15        return nums[l]
def test():
22def test():
23    assert q([3, 4, 5, 1, 2]) == 1