leetcode153
2024-08-30 11:30:12
class Solution:
def findMin(self, nums: 'List[int]') -> int:
l = 0
h = len(nums)-1
while l < h:
m = l + (h-l) // 2
if nums[m] > nums[h]:
l = m + 1
else:
h = m
return nums[l]
40ms,13.1mb
二分查找的变种,感觉怪怪的。相较而言,还是下面的这种更容易理解吧:
class Solution:
def findMin(self, nums: 'List[int]') -> int:
base = nums[0]
for i in range(1,len(nums)):
if base > nums[i]:
return nums[i]
return base
40ms,13.4mb
至少从oj提供的testcase来看,效率是几乎一致的,当然理论上是有O(logN)与O(N)的区别的。
最新文章
- r-cnn学习(九):学习总结
- yar框架使用笔记
- iOS_UIImage_Gif的分解
- 传智播客JavaWeb听课总结
- 《JavaScript修炼之道》读书笔记
- .NET/MVC-发布到IIS6.1提示未能加载程序集System.Web.Http.WebHost
- POJ3087Shuffle&#39;m Up(map)
- 运用linq查找所有重复的元素
- Objective-C Http常用API 同步请求与异步请求
- Android wear 初体验
- EPROCESS KPROCESS PEB
- iOS 定位简单使用
- 2018-2019-2 网络对抗技术 20165236 Exp6 信息搜集与漏洞扫描
- Clover 安装 Mac 系统更新 (原版黑苹果)
- MyEclipse10.0的破解过程详细及图解
- drawable自定义字体颜色
- a标签与js的冲突
- TensorFlow(1)注解入门代码
- canvas-3radialGradient.html
- redgate的mysql架构比较和数据比较工具