把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。

给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转,该数组的最小值为1。

示例 1:

输入:[3,4,5,1,2]
输出:1
示例 2:

输入:[2,2,2,0,1]
输出:0

思路:

二分搜索,每次去无序的那部分数组找最小元素

class Solution {
public:int minArray(vector<int>& numbers) {int lo = 0, hi = numbers.size() - 1;while (lo < hi) {int mid = (lo + hi) / 2;if (numbers[mid] > numbers[hi]) {lo = mid + 1;}else if (numbers[mid] < numbers[hi]) {hi = mid;}else hi--;}return numbers[lo];}
};

剑指offer 11.旋转数组的最小数字相关推荐

  1. 《LeetCode力扣练习》剑指 Offer 11. 旋转数组的最小数字 Java

    <LeetCode力扣练习>剑指 Offer 11. 旋转数组的最小数字 Java 一.资源 题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 给你一个可能存在 ...

  2. 剑指 Offer 11. 旋转数组的最小数字 简单

    剑指 Offer 11. 旋转数组的最小数字 题目 解题思路 方法(一)直接遍历法 方法(二)二分查找法 题目 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组 ...

  3. 剑指offer 11. 旋转数组的最小数字(很详细!)

    剑指offer 11. 旋转数组的最小数字 题目 解题思路 代码 题目 解题思路 一开始,我们就能直接想到,数组找最小值,那么不轻轻松松直接遍历一遍,用一个变量记录最小值,然后直接返回不就完事了? 但 ...

  4. 【LeetCode】剑指 Offer 11. 旋转数组的最小数字

    [LeetCode]剑指 Offer 11. 旋转数组的最小数字 文章目录 [LeetCode]剑指 Offer 11. 旋转数组的最小数字 一.遍历 二.二分法 总结 一.遍历 算法步骤: 遍历数组 ...

  5. 【剑指 Offe】剑指 Offer 11. 旋转数组的最小数字

    目录标题 算法汇总 题目 关键点 代码 1.解体方法 - 二分法 思路 代码 时间和空间复杂度 2.解题方法,如暴力法 思路 代码 时间和空间复杂度 算法汇总 以下是所有算法汇总,包括GitHub源码 ...

  6. 剑指offer——11.旋转数组的最小数字

    题目: 题1:实现快速排序 题2:年龄排序问题. 题3:旋转数组的最小数字 知识点: 快速排序算法,参考:https://blog.csdn.net/shujuelin/article/details ...

  7. Leetcode 剑指 Offer 11. 旋转数组的最小数字 (每日一题 20210916)

    把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转, ...

  8. 剑指 Offer 11. 旋转数组的最小数字 LCOF

    把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转, ...

  9. 【双百解法】剑指 Offer 11. 旋转数组的最小数字

    立志用最少的代码做最高效的表达 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如,数组 [3,4,5,1,2] 为 [1 ...

  10. leetcode剑指 Offer 11. 旋转数组的最小数字(二分查找)

    把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转, ...

最新文章

  1. BRCM5.02编译四: ERROR: lzo/lzo1x.h development library is required for build
  2. 成功者网上创业的精华经验
  3. vb.net2019-跨平台
  4. xcode 5 使用 XCTest 做单元测试
  5. 通过视频着色进行自监督跟踪
  6. 关于团队开发项目的想法
  7. 面试题: 大公司面试 !=!=未看
  8. CCNA零基础视频教程本人原创 下载地址
  9. 2020研究生数学建模题目
  10. 5G路测下行速率优化指导书
  11. oracle查表的更新时间,Oracle 查询倒叙查询所有表更新时间
  12. AndroidStudio安装配置教程(参考)
  13. 刷脸支付:5G时代下的新型支付模式
  14. 【爬虫】从零开始使用 Scrapy
  15. mac say命令转mp3
  16. OpenWorm项目
  17. 计算机一级教学视频回信,第6章_因特网基础与简单应用--全国计算机等级考试一级MSOFFICE2010版.ppt...
  18. 手机HCI日志抓取教程
  19. 【高级操作系统-陈渝】tendency_Of_OS---PerformanceReliabilityCorrectness
  20. 打造全栈安全服务,华为云网站安全解决方案为什么值得选?

热门文章

  1. pytorch学习1:pytorch 定义网络的方式
  2. c语言uint8的数组怎么转换为uint32_剖析JS和Redis的数据结构设计:数组
  3. linux内核那些事之ZONE
  4. 07 | 卷积神经网络:给你的模型一双可以看到世界的眼睛
  5. linux 省内存的桌面,Linux_在Linux中可视化显示内存占用情况的方法,物理内存不足对Linux桌面系统 - phpStudy...
  6. 关于java中next,nextInt,nextLine的区别
  7. MUI入门小白到大师 - 讲解
  8. bootstrap带有下拉按钮的输入框_Bootstrap的输入框组样式
  9. java 分页_Spring Boot + MyBatis 如何借助PageHelper插件实现分页效果
  10. 酷乐Emlog新春特别版coolappy2.2开源