栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

153. 寻找旋转排序数组中的最小值

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

153. 寻找旋转排序数组中的最小值


153. 寻找旋转排序数组中的最小值

题目描述

解题思路

还是二分查找 在常规二分查找中 序列有序 在此题中分段有序。如果以中点为分割点 一定有一半是有序的 据此可以判断最小值点的区间。

代码实现
class Solution:
 def findMin(self, nums: List[int]) - int:
 low, high 0, len(nums) - 1
 while low high:
 mid low (high - low) // 2
 if nums[high] nums[mid]:
 # [high, mid]是连续递增区间 最小值不可能在此区间
 high mid
 else:
 # nums[high] nums[mid]时 最小值一定在[mid 1, high]区间
 # 不能是low mid 会陷入死循环
 low mid 1
 return nums[low]
参考文献

一文解决 4 道「搜索旋转排序数组」题

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/266878.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号