题目描述

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。
例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。
NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。

方法(1):直接遍历,找到最小值。

class Solution {
public:int minNumberInRotateArray(vector<int> rotateArray) {int length=rotateArray.size();if (length==0)return 0;int min = rotateArray[0];for (int i=1;i<length;i++){if (rotateArray[i]<min){min=rotateArray[i];}}return min;}
};

方法(2)利用二分查找。如果中间元素值>最后一个元素值,说明最小值右半区间,如果中间元素<最后一个元素区间,说明最小值在左半区间,如果相等说明有相同元素,需要将判断区间往前缩一下,继续判断,不断循环,当二分查找的的左右区间相等了,就说明找到最小值了。

class Solution {
public:int minNumberInRotateArray(vector<int> rotateArray) {int length=rotateArray.size();if (length==0)return 0;int left=0;int right=length-1;while(left<right){int mid=left+(right-left)/2;if (rotateArray[mid]>rotateArray[right]){left=mid+1;}else if (rotateArray[mid]<rotateArray[right]){right=mid;}else right=right-1;}return rotateArray[left];}
};

旋转数组,输出旋转数组的最小元素相关推荐

  1. 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。(js代码)

    1.题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的 ...

  2. 剑指offer:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。

    剑指offer算法题 二分查找,旋转数组最小数字 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素.例如数组[3, ...

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

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

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

    题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转, ...

  5. 【java】把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。

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

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

    public class Solution {public int minNumberInRotateArray(int [] array) {int min=array[0];for(int i=1 ...

  7. 输出一个为递增排序数组的旋转数组中的最小元素——8

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

  8. 程序员面试题精选100题(42)-旋转数组的最小元素[算法]

    题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个排好序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的 ...

  9. 求旋转数组的最小元素

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

最新文章

  1. Android drawLine 画虚线
  2. vue select js 设置默认值
  3. 你有一张世界互联网大会的门票待领取!数字经济人才专场报名开启
  4. 报名 | 贝叶斯计算方法在生物制药领域的应用(基于SAS)
  5. 服务器出口ip怎样修改,服务器出口ip设置
  6. HTML标签详解之格式标签
  7. boost::program_options模块一个配置ini文件被解析程序选项库,它包括许多不同的值类型的测试程序
  8. 简直要逆天!超炫的 HTML5 粒子效果进度条
  9. python编程(GUI线程和工作线程的同步)
  10. 还没休年假的小伙伴注意了...事关你的合法权益
  11. visual studio输入法打不了中文_(四)让人纠结的双拼输入法,以及承载它的那些输入法们(下)...
  12. 关于TP遇到的问题点和解决办法
  13. Matlab计算空间权重矩阵(地理距离和经济地理距离)
  14. .h文件、.inc文件、.lib文件的功能及三者之间的异同
  15. 我的世界正版验证服务器地址,我的世界1.7.10服务器纯净地址大全
  16. 威刚SU600固态硬盘不识别通电无反应慧荣SM系列主控数据恢复![图]
  17. elementUI之表格排序失效,表格宽度可拖拽变宽变窄
  18. 华东师范计算机模拟考试题答案,《计算机入门》模拟卷C答案-华东师范大学
  19. powershell免杀可替换的关键字
  20. DMOZ介绍以及如何提交

热门文章

  1. 中国全省份3D地图模板,只需这款数字孪生软件便可拥有
  2. 平遥高中计算机题,高中游历平遥古城作文
  3. sn9c291 驱动加载成功,mpayer无法播放
  4. 蓝牙加密(AES-CCM)
  5. Qt开发中触发鼠标悬停事件
  6. 鼠标悬停事件onmouseover和鼠标离开事件onmouseout
  7. GSL 系列 6 — 线性代数 4 — LQ 分解
  8. Xsolla采访《仙剑5前传之心愿》
  9. 微软:不是所有电脑都能升级Win11,网友:看我偷梁换柱
  10. 从无到有:七步教你做数值(3)