leetcode 11:旋转数组的最小数字
leetcode 11:旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
给你一个可能存在 重复 元素值的数组 numbers
,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1,2]
为 [1,2,3,4,5]
的一次旋转,该数组的最小值为 1。
注意,数组 [a[0], a[1], a[2], ..., a[n-1]]
旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], ..., a[n-2]]
。
示例 1:
输入:numbers = [3,4,5,1,2]
输出:1
示例 2:
输入:numbers = [2,2,2,0,1]
输出:0
提示:
n == numbers.length
1 <= n <= 5000
-5000 <= numbers[i] <= 5000
numbers
原来是一个升序排序的数组,并进行了1
至n
次旋转
注意:本题与主站 154 题相同:https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array-ii/
Related Topics
数组
二分查找
思路:二分查找
官方参考连接:https://leetcode-cn.com/problems/xuan-zhuan-shu-zu-de-zui-xiao-shu-zi-lcof/solution/xuan-zhuan-shu-zu-de-zui-xiao-shu-zi-by-leetcode-s/
class Solution {public int minArray(int[] numbers) {int min = Integer.MAX_VALUE;int start = 0;int end = numbers.length-1;while (start < end){int mid = start + (end-start)/2;//最小值一定在[start,mid]范围if(numbers[mid] < numbers[end]){end = mid;//最小值一定在[mid+1,end]}else if(numbers[mid] > numbers[end]){start = mid +1;//此时最小值可能在mid的左侧或者右侧//但是肯定可以忽略掉最右边的end,因为他们两相等}else{end -= 1;}}return numbers[start];}
}
leetcode 11:旋转数组的最小数字相关推荐
- 《LeetCode力扣练习》剑指 Offer 11. 旋转数组的最小数字 Java
<LeetCode力扣练习>剑指 Offer 11. 旋转数组的最小数字 Java 一.资源 题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 给你一个可能存在 ...
- 【LeetCode】剑指 Offer 11. 旋转数组的最小数字
[LeetCode]剑指 Offer 11. 旋转数组的最小数字 文章目录 [LeetCode]剑指 Offer 11. 旋转数组的最小数字 一.遍历 二.二分法 总结 一.遍历 算法步骤: 遍历数组 ...
- 剑指 Offer 11. 旋转数组的最小数字 简单
剑指 Offer 11. 旋转数组的最小数字 题目 解题思路 方法(一)直接遍历法 方法(二)二分查找法 题目 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组 ...
- LeetCode-剑指 Offer 11. 旋转数组的最小数字
剑指 Offer 11. 旋转数组的最小数字 思路一:先排序,返回第一个数组值 class Solution {public:int minArray(vector<int>& n ...
- 剑指offer 11. 旋转数组的最小数字(很详细!)
剑指offer 11. 旋转数组的最小数字 题目 解题思路 代码 题目 解题思路 一开始,我们就能直接想到,数组找最小值,那么不轻轻松松直接遍历一遍,用一个变量记录最小值,然后直接返回不就完事了? 但 ...
- 【剑指 Offe】11. 旋转数组的最小数字
题目:剑指 Offer 11. 旋转数组的最小数字 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数 ...
- 【剑指 Offe】剑指 Offer 11. 旋转数组的最小数字
目录标题 算法汇总 题目 关键点 代码 1.解体方法 - 二分法 思路 代码 时间和空间复杂度 2.解题方法,如暴力法 思路 代码 时间和空间复杂度 算法汇总 以下是所有算法汇总,包括GitHub源码 ...
- 11. 旋转数组的最小数字(剑指 Offer 题解Java版)
文章目录 11. 旋转数组的最小数字 题目描述 题目链接 解题思路 可以借助下图理解过程 代码 11. 旋转数组的最小数字 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. ...
- 剑指offer:面试题11. 旋转数组的最小数字
题目:旋转数组的最小数字 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如,数组 [3,4,5,1,2] 为 [1,2, ...
- 剑指offer——11.旋转数组的最小数字
题目: 题1:实现快速排序 题2:年龄排序问题. 题3:旋转数组的最小数字 知识点: 快速排序算法,参考:https://blog.csdn.net/shujuelin/article/details ...
最新文章
- tkinter之事件绑定
- ASP.NET 完成基于表单的身份验证
- 运动会加油稿计算机学院,信息工程学院运动会加油稿
- tplink连接服务器失败_管家婆财贸双全连接失败,服务器端没有找到加密狗
- DataGridView使用方法汇总
- oracle-只读数据文件的备份与恢复
- 书籍推荐:《Java数据结构与算法》
- 小狼毫输入法配置(搜狗词库+u模式+皮肤+同步)
- 高通QCA9563详细资料全集-datasheet-原理图-PCB-HDK等资料免费下载
- 智能家居之ESP8266接继电器接线方式
- 基于JAVA汽车租赁系统计算机毕业设计源码+数据库+lw文档+系统+部署
- 使用爬虫爬取某电影分享网站最新电影链接 -- 基于Python Requests库
- Go zap日志库使用
- 「AI初识境」给深度学习新手做项目的10个建议
- 从2014全球出版业50强排行榜看出版产业的格局演变
- mysql 循环控制语句介绍
- 他其实没那么喜欢你 豆瓣影评
- NMOS和PMOS作为电源开关经典场景
- CorelDRAW2023最新v24.4.0.623中文稳定版
- ubuntu平台下ffmpeg的编译安装方法