Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.

(i.e.,  [0,1,2,4,5,6,7] might become  [4,5,6,7,0,1,2]).

Find the minimum element.

The array may contain duplicates.

Example 1:

Input: [1,3,5]
Output: 1

Example 2:

Input: [2,2,2,0,1]
Output: 0
class Solution {
public:
int findMin(vector<int>& nums) {
int len=nums.size();
if(len==1) return nums[0];
int low=0,high=len-1; //有重复的数字从mid 和high 比较来辨别 寻找的位于左半部分还是右半部分,没有的话用 mid和low位置比较划分
while(low<=high){
int mid=low+(high-low)/2;
if(nums[mid]<nums[high]) {
high=mid;
}else if(nums[mid]>nums[high]){
low=mid+1;
}else{
high--;
}
}
return nums[low];
}
};

最新文章

  1. extend
  2. [LeetCode] Lowest Common Ancestor of a Binary Tree 二叉树的最小共同父节点
  3. C++-Qt【2】-实现一个简单的记事本
  4. php 几种函数类型
  5. substring和substr的用法
  6. asp.net core + mysql + ef core + linux
  7. 在CentOS上为Docker开启SELinux
  8. Python学习案例之人脸检测识别
  9. linux 硬盘满了如何处理
  10. Ubuntu14.04下 升级 cmake
  11. C#定义只能处理枚举类型的泛型类型
  12. MySQL/MariaDB 版本选择
  13. 关于 Level 和 Promotion,其实就那么简单
  14. Python+Selenium学习--打印当前页面的title及url
  15. 《mysql必知必会》学习_第9章_20180731_欢
  16. &lt;Android 基础(三 十)&gt; Fragment (3) ~ PreferenceFragment
  17. 微信小程序——倒计时功能
  18. 作业1-MathExam
  19. 010-Hadoop Hive sql语法详解5-HiveQL与SQL区别
  20. RabbitMQ学习系列三-C#代码接收处理消息

热门文章

  1. OpenCV计算机视觉学习(5)——形态学处理(腐蚀膨胀,开闭运算,礼帽黑帽,边缘检测)
  2. 转 Swoole】用swoole简单实现MySQL连接池
  3. centos8平台基于iftop监控网络流量
  4. nginx优化:worker_processes/worker_connections/worker_rlimit_nofile
  5. scrapy 采集数据存入excel
  6. 第二十章 nginx常见问题
  7. 第三章 TCP/IP 模型
  8. 微信小程序-基于高德地图API实现天气组件(动态效果)
  9. 如何使用dos,以及一些简单的dos命令
  10. ubuntu18 ssh服务器拒绝连了密码