摘要: 和 162 一毛一样, 意义何在? class Solution: def peakIndexInMountainArray(self, arr: List[int]) -> int: start = 0 end = len(arr) - 1 while start < end: mid = (st 阅读全文
posted @ 2021-11-21 19:43 茫茫碧落 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 一个整数队列. 每两个相邻的数都不相同. 找到一个数, 使得其大于相邻的数, 输出该数的index. 如果有多个满足条件的数, 只需要输出任意一个即可. 要求算法复杂度为O(logn) 因为要求算法复杂度是O(n)一定是二分法. 然后容易知道的一点是对于任意满足条件的整数队列, 都可以找到这样的数. 阅读全文
posted @ 2021-11-21 19:33 茫茫碧落 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 153的进阶版, 原列表不是严格递增的, 相似, 增加更多的边界判断就可以, 但是极端情况下, 也就是列表中重复的数字过多可能会到O(n)的复杂度. class Solution: def findMinInRange(self, nums: List[int], start, end) -> in 阅读全文
posted @ 2021-11-21 19:01 茫茫碧落 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 旋转过的严格递增列表, 求其中的最小值. 不难, 注意判断边界条件就可以, 算法复杂度应该是O(logn) class Solution: def findMinInRange(self, nums: List[int], start, end) -> int: if start == end: r 阅读全文
posted @ 2021-11-21 18:59 茫茫碧落 阅读(33) 评论(0) 推荐(0) 编辑