LeetCode - #154 探求旋转排序数组中的最小值 II

手机软件开发 2024-10-8 23:58:09 96 0 来自 中国
媒介

我们社区连续会将顾毅(Netflix 增长黑客,《iOS 口试之道》作者,ACE 职业健身锻练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。
LeetCode 算法到现在我们已经更新到 153 期,我们会保持更新时间和进度(周一、周三、周五早上 9:00 发布),每期的内容不多,我们盼望大家可以在上班路上阅读,长期积累会有很大提升。
不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有发起和意见欢迎在文末留言,我们会努力满足大家的需求。
难度程度:困难
1. 形貌

已知一个长度为 n 的数组,预先按照升序分列,经过 1 到 n 次 旋转 后,得到输入数组。比方,原数组 nums = [0,1,2,4,5,6,7] 在变革后大概得到:

  • 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]
  • 若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]
留意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的效果为数组 [a[n-1], a[0], a[1], a[2], ..., a[n-2]] 。
给你一个大概存在 重复 元素值的数组 nums ,它原来是一个升序分列的数组,并按上述情况举行了多次旋转。请你找出并返回数组中的 最小元素
你必须尽大概镌汰整个过程的操纵步调。
2. 示例

示例 1
输入:nums = [1,3,5]输出:1示例 2
输入:nums = [2,2,2,0,1]输出:0束缚条件:

  • n == nums.length
  • 1 <= n <= 5000
  • -5000 <= nums <= 5000
  • nums 原来是一个升序排序的数组,并举行了 1 至 n 次旋转
3. 答案
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 14:15, Processed in 0.157533 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表