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

示例 1:

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

代码

class Solution {public int minArray(int[] numbers) {int left=0,right=numbers.length-1;if(numbers.length==1) return numbers[0];while (left<right){int mid=((right-left)>>1)+left;if(numbers[mid]<numbers[right])//旋转点在右边区间right=mid;else if(numbers[mid]>numbers[right])//旋转点在左边区间left=mid+1;else right--;//出现相等则缩小边界}return numbers[left];}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. Xbox One 游戏欣赏: Xbox Fitness 太极拳游戏
  2. 【openssl】利用openssl完成X509证书和PFX证书之间的互转
  3. iOS 开发一定要尝试的 Texture(ASDK) 1
  4. ACL'21 | 弱标签的垃圾数据,也能变废为宝!
  5. Spring MVC+Mybatis 多数据源配置
  6. python-虚拟环境的作用
  7. 【目标检测】IoU、GIoU、DIoU、CIoU Loss详解及代码实现
  8. [UOJ386]鸽子固定器
  9. linux vi 替换字符串,Linux vi编辑器如何查找与替换关键字
  10. 通信工程专业英语词汇 通信工程 专业英语
  11. excel-自定义函数及使用
  12. 【恩智浦杯(飞思卡尔)全国大学生智能汽车竞赛】解读部分北科技术报告图像处理内容(点到为止)
  13. 回眸2020,展望2021
  14. PHP 文字生成透明图片
  15. 基于搜索的贝叶斯网络结构学习算法-K2
  16. iOS开发 音频合成,改变音轨音量,改变背景音乐音量,音频剪辑
  17. Excel——如何在多种分类下填充空白单元格
  18. ORA-04031: 无法分配 3840 字节的共享内存 (“shared pool“,“unknown object“,“sga heap(1,0)“,“kglsim object batch“)
  19. Bochs编程环境安装
  20. java cos和native cos的区别

热门文章

  1. 文件描述符与打开文件的关系
  2. SpringBoot与数据访问
  3. Python os 属性(便于跨平台开发)
  4. JS——实现短信验证码的倒计时功能(没有验证码,只有倒计时)
  5. PHP面向对象(三)
  6. ElasticSearch、Logstash和Kiabana三个开源工具。
  7. void Update ( ) 更新 void FixedUpdate ( )
  8. LoadRunner8.1破解汉化过程
  9. 搭建MSSM框架(Maven+Spring+Spring MVC+MyBatis)
  10. 基于SpringBoot的CodeGenerator