题目描述

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。
例如数组{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. Angular从零到一1.2 环境配置要求
  2. Golang gin框架:GET请求示例
  3. Python3 字符串切片 slice 操作
  4. Web测试到底是在测什么(资料合集)
  5. HttpWebRequest与HttpWebResponse进行数据采集时的注意点
  6. 从平庸到杰出,技术人应该专注的底层知识是什么?
  7. JS的深浅复制,原来如此!
  8. cad插件制作教程_CAD电子签名制作教程
  9. java获取上传图片的大小_java 图片上传的处理,获取图片大小,宽高。
  10. 【word论文排版教程3】制作样式和列表
  11. MIKE水动力笔记8_冷启动与热启动
  12. 学习笔记:修改网吧计费系统
  13. 批量修改图片尺寸,不用ps也可以
  14. JavaSE(十一)加密与安全
  15. 启动计算机键盘没反应,电脑键盘个别键没反应怎么办
  16. FPGA两片RAM的乒乓操作
  17. 位图(bitset)的使用【STL】
  18. dva是什么游戏_守望先锋DVA全互动台词一览
  19. WiFi穿墙手册:解读天线、dbi、发射功率和无线信号的关系
  20. [原创]AHA大会回顾

热门文章

  1. dota2输入法无候选框?
  2. 机器学习【逻辑回归算法】
  3. nginx-1.14.0配置文件 配置域名转发到端口
  4. 什么是网页劫持,常见的劫持手法有哪些?
  5. P3073 [USACO13FEB]Tractor S
  6. virtualbox虚拟机网络设置
  7. 如何自学编程(二)-怎样选择入门语言?
  8. Java使用PDFBox为PDF填加水印亲测
  9. java datetime类型_datetime对应java什么类型
  10. OpenSSL密码库算法笔记——第5.4.2章 椭圆曲线上点的射影坐标表示