题目:

Suppose a sorted array 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.

You may assume no duplicate exists in the array.

解题思路:

首先假设一个sorted没有rotated的数组[1,2,3],假设我们通过一个pivot把这个数组rotate,那么结果可能为:[2,3,1], [3,1,2], 可以发现:num[low]永远大于(或等于)num[high]。因为你之前是sorted的数组,你在一个sorted的数组找了一个pivot进行rotate,那么比如pivot后面的值都大于pivot之前的值。所以依据这个发现,以及二分法查找。我们可以根据以下判断来解题。num[mid]有两种可能性,如果num[mid] > num[high],证明num[mid]在rotated后的那个区间内,这个区间我们刚才已知都大于pivot之前的值,所以最小值就在low=mid+1那个区间内。另一种可能,num[mid] <= num[high],那么我们刚才可以看出来这种可能性说明mid~high以及是排好序的,那么最小值在high=mid这个区间内(mid可能是最小值)。依据此判断可以找到最小值。

代码如下:

 1     public int findMin(int[] num) {
 2         int low = 0, high = num.length - 1;
 3         while (low < high && num[low] >= num[high]) {
 4             int mid = (low + high) / 2;
 5             if (num[mid] > num[high])
 6                 low = mid + 1;
 7             else
 8                 high = mid;
 9         }
10         return num[low];
11     }

Find Minimum in Rotated Sorted Array leetcode java相关推荐

  1. 【LeetCode】154. Find Minimum in Rotated Sorted Array II (3 solutions)

    Find Minimum in Rotated Sorted Array II Follow up for "Find Minimum in Rotated Sorted Array&quo ...

  2. LeetCode Find Minimum in Rotated Sorted Array II

    Follow up for "Find Minimum in Rotated Sorted Array": What if duplicates are allowed? Woul ...

  3. LeetCode——Find Minimum in Rotated Sorted Array II

    Question Follow up for "Find Minimum in Rotated Sorted Array": What if duplicates are allo ...

  4. LeetCode Find Minimum in Rotated Sorted Array

    Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...

  5. 154 Find Minimum in Rotated Sorted Array 2

    这道题与 153 Find Minimum in Rotated Sorted Array 基本相同,只是有可能有重复的数字, 这样a[left] 就可能与a[mid]相同 因此就多一个可能,因此在最 ...

  6. Find Minimum in Rotated Sorted Array II

    Description: Follow up for "Find Minimum in Rotated Sorted Array": What if duplicates are ...

  7. leetcode 81 Search in Rotated Sorted Array II ----- java

    Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this ...

  8. (LeetCode 153)Find Minimum in Rotated Sorted Array

    Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...

  9. [LeetCode]Find Minimum in Rotated Sorted Array

    题目描述: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 ...

最新文章

  1. LeetCode 5.Longest Palindromic Substring 求解
  2. centos下nginx+postgresql+php+memcached+apc安装与配置
  3. python3.6使用pygal模块不具交互性,图片不能显示数据
  4. A damn at han’s Windows phone book 笔记(2:Flashlight)
  5. c 对一个mysql数据库进行操作_用C语言操作MySQL数据库
  6. gcc是java的什么意思_为什么gcc支持Java而不是C#
  7. android密码可见不可见的光标控制,Android EditText 在设置为输入密码的时候 密码是否可见 光标在最后显示...
  8. 第五章数理统计--样本和抽样分布
  9. 深入浅出MongoDB(二)概述
  10. Extreme Programming
  11. 路由器连接宽带(成功上网步骤方法)
  12. 响应式开发---网页的布局方式、媒体查询、栅格化布局、less语言
  13. CentOS 6.5安装YouCompleteMe使用vim C/C++语法自动补全
  14. Mac OS 源码 截屏工具
  15. Unable to find a single main class from the following candidates 问题解决
  16. cp命令—Linux文件管理
  17. 双旦七大行业营销活动方案
  18. PAKDD2018小结
  19. iPhone 14 Pro Max 和 iPhone 14 Pro的区别
  20. 最详细最简单:最大公因数求法、辗转相除法、更相减损法,入门ACM,杭电水题,算法递归,初级算法题一看就懂

热门文章

  1. 添加 code snippets (转)
  2. Spring MVC视图解析器
  3. python assert 用法_Python量化投资实战营大咖开讲!
  4. java 放行文件_springmvc中关于静态资源的放行
  5. java如何编译运行?
  6. Javascript是最好的编程语言吗?
  7. 计算机网络自上而下影印版_《计算机网络(影印版)》 影印 【正版电子纸书阅读_PDF下载】- 书问...
  8. 根目录_ubuntu 18.04 server版根目录只有4G?
  9. JAVA蓝桥杯: 时间转换
  10. MVC与三层架构讲解