
力扣:搜索旋转排序数组中最小值 (先看)
发布日期:2021-05-08 20:01:08
浏览次数:23
分类:精选文章
本文共 407 字,大约阅读时间需要 1 分钟。
在一个已旋转的有序数组中找到最小的元素可以通过二分查找的方法高效解决。以下是详细的解决方案:
初始化指针:设置左指针left
为数组起始位置,右指针right
为数组末尾。
检查特殊情况:如果数组长度为1,直接返回唯一的元素。
检查未旋转情况:如果数组的第一个元素小于最后一个元素,说明数组未旋转,最小值即为第一个元素。
二分查找过程:
- 计算中间指针
mid
。 - 比较
nums[mid]
与nums[mid+1]
:- 如果
nums[mid]
大于nums[mid+1]
,则最小值位于mid+1
。 - 否则,比较
nums[mid]
与nums[mid-1]
,确定最小值的位置。
- 如果
- 比较
nums[mid]
与数组第一个元素:- 如果
nums[mid]
大于数组第一个元素,说明最小值在右侧,调整左指针。 - 否则,调整右指针。
- 如果
终止条件:当指针超出范围时,返回最小值。
通过上述步骤,可以在旋转后的数组中高效找到最小值,时间复杂度为O(log n)。
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年05月04日 18时11分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
LeetCode240:Search a 2D Matrix II
2025-04-05
LeetCode268.缺失数字
2025-04-05
LeetCode331.验证二叉树的前序序列化
2025-04-05
leetcode380. Insert Delete GetRandom O(1)
2025-04-05
LeetCode502
2025-04-05
leetcode507
2025-04-05
LeetCode7.整数反转 JavaScript
2025-04-05
Leetcode: Group Anagrams
2025-04-05
Leetcode: Spiral Matrix II
2025-04-05
LeetCode: String to Integer (atoi)
2025-04-05
Leetcode:454. 4Sum II
2025-04-05
LeetCode:Restore IP Addresses
2025-04-05
LeetCode:Subsets I II
2025-04-05
LeetCode——Unique Paths
2025-04-05
LeetCode二叉树从上至下路径问题总结(112.113.437.129)
2025-04-05
LeetCode动态规划训练营(1~5天)
2025-04-05