剑指 Offer 11. 旋转数组的最小数字

简介: 剑指 Offer 11. 旋转数组的最小数字

链接: 原文链接.


class Solution:
    # 自己写的一种查找方法
    # def minArray(self, numbers: List[int]) -> int:
    #     # 遍历,如果遇到比之前都小的值就直接返回。
    #     for i in range(len(numbers)-1):
    #         if numbers[i+1] < numbers[i]:
    #             return numbers[i+1]
    #         else:
    #             pass
    #     # 如果没有遇到,那只有两种情况:列表本来就是正序的
    #     # 或者是列表只有一个值。
    #     # 以上两种情况的返回值直接就是列表的第一个值
    #     return numbers[0]
    # 大佬写的方法,二分法查找
    # 稍微改动一下之前的就可以
    # def minArray(self, numbers: [int]) -> int:
    #     i, j = 0, len(numbers) - 1
    #     while i < j:
    #         m = (i + j) // 2
    #         if numbers[m] > numbers[j]: i = m + 1
    #         elif numbers[m] < numbers[j]: j = m
    #         else: j -= 1
    #     return numbers[i]
相关文章
|
7月前
剑指 Offer 11:旋转数组的最小数字
剑指 Offer 11:旋转数组的最小数字
54 1
|
7月前
剑指 Offer 42:连续子数组的最大和
剑指 Offer 42:连续子数组的最大和
43 0
|
7月前
剑指 Offer 45:把数组排成最小的数
剑指 Offer 45:把数组排成最小的数
33 0
|
7月前
剑指 Offer 56 - I:数组中数字出现的次数
剑指 Offer 56 - I:数组中数字出现的次数
55 0
|
7月前
剑指 Offer 56 - II:数组中数字出现的次数 II
剑指 Offer 56 - II:数组中数字出现的次数 II
52 0
|
7月前
「LeetCode」剑指 Offer 40. 最小的k个数
「LeetCode」剑指 Offer 40. 最小的k个数
58 0
|
7月前
|
算法
六六力扣刷题数组之长度最小的子数组
六六力扣刷题数组之长度最小的子数组
48 0
|
7月前
剑指Offer LeetCode 面试题11. 旋转数组的最小数字
剑指Offer LeetCode 面试题11. 旋转数组的最小数字
45 0
|
7月前
leetcode 剑指 Offer 40. 最小的k个数
leetcode 剑指 Offer 40. 最小的k个数
37 0
剑指Offer - 面试题11:旋转数组的最小数字
剑指Offer - 面试题11:旋转数组的最小数字
81 0