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.

思路分析:这题主要考察二分查找,在Rotated Sorted Array中找最小和Search in Rotated Sorted Array类似,只不过此时需要不断把最左边的元素A[l]与A[m]比较

1. 如果A[m] < A[l] 那么应该在左边找,更新右边的边界right;

2.如果A[m] > A[l] 那么应该在右边找,更新左边的边界left;

3.如果A[m]= A[l] ,l++;

上述规律可以通过举例子很快发现,这样可以每次减少一半元素,得到O(logN)的算法。注意这题A[m] = A[l] 也有可能发生,虽然没有重复元素,但是m和l可能指向同一个元素,比如当这个数组只有两个元素的时候。如果A[m]= A[l] ,可以执行l++;丢掉一个“冗余元素”也不会丢掉最小值。对于Rotated Sorted Array中有冗余值的情况可以参考本题的扩展Find Minimum in Rotated Sorted Array II。

AC Code

public class Solution {public int findMin(int[] nums) {int n = nums.length;int l = 0;int r = n-1;int min = nums[0];while(l < r){int m = l + (r-l) / 2;if(nums[m] < nums[l]) {min = Math.min(nums[m], min);r = m;} else if(nums[m] > nums[l]){min = Math.min(nums[l], min);l = m;} else {l++;}}min = Math.min(nums[l], min);min = Math.min(nums[r], min);return min;}
}

LeetCode Find Minimum in Rotated Sorted Array相关推荐

  1. LeetCode Find Minimum in Rotated Sorted Array II

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

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

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

  3. [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 ...

  4. 【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 ...

  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 33. Search in Rotated Sorted Array

    问题链接 LeetCode 33. Search in Rotated Sorted Array 题目解析 给定一个 "升序" 的 无重复 数组,从中寻找目标值."升序& ...

  8. 【leetcode】Search in Rotated Sorted Array II(middle)☆

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

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

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

最新文章

  1. 李飞飞团队最新论文:基于anchor关键点的类别级物体6D位姿跟踪
  2. 如何设计折叠样式的屏幕(类似MIGO的屏幕)
  3. 使用Matplotlib Numpy Pandas构想泰坦尼克号高潮
  4. simpledateformat格式_如何使用SimpleDateFormat?
  5. 经典线程同步 事件Event
  6. html日历框架,日历.html
  7. android多媒体学习笔记三___图像合成
  8. Java-实现简单取色器
  9. 使用Echarts实现中国地图,官方china.js文件
  10. .Net C# Newtonsoft.Json JsonSerializerSettings配置
  11. cpu压测 windows_小白求问怎么用AIDA64进行CPU压力测试
  12. 金蝶K3 Cloud免密登陆
  13. 工作室流量卡如何做才能不封号?
  14. Revit二次开发——HelloRevitApp
  15. python发送请求给服务器参数传递方式以及服务器响应方式
  16. 【洛谷题解】P1427 小鱼的数字游戏
  17. 2021-05-24 Nyquist图背后的信息
  18. excel每页都显示标题的方法
  19. GraphSAGE论文阅读笔记
  20. [HCTF 2018] WarmUp

热门文章

  1. python 计算器 eval ctf_python 的eval函数
  2. (附源码)node.js游戏网站 毕业设计 031726
  3. 为何多语临床试验需要专业的翻译公司?
  4. 向 Oracle 数据库添加 ST_Geometry 类型
  5. YOLOv5Face YOLO5Face人脸检测论文及代码简析
  6. 数字人民币APP上架,跨境交易将进入新境界
  7. 终于有一篇文章把饭金展开说明白了。
  8. 国内外常用公共NTP网络时间同步服务器地址
  9. GD32F4xx uIP协议栈移植记录
  10. 罗密欧与朱丽叶迷宫问题