【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 might become 4 5 6 7 0 1 2).
Find the minimum element.
You may assume no duplicate exists in the array.
题解:就是找数组中第一个“下凹”的地方,可以遍历,不过也可以用二分法,速度更快。
特别注意边界的处理:如果当前的中间值mid在0这个位置,只要考虑它后面的元素是不是小于它;如果在数组最后的位置上,要考虑它前面的元素是不是大于它。最后当发现当前mid所指的值不是所求的“下凹点”的时候,要把它和最后数组的最后一位比较,如果它比数组的最后一位大,说明要找的“下凹点”在mid所指位置的后面,否则在mid所指位置的前面。
JAVA版本代码如下:
 import java.awt.datatransfer.StringSelection;
 public class Solution {
     public static void main(String[] args){
         int num[] = {3,4,5,1,2};
         Solution s = new Solution();
         System.out.println(s.findMin(num));
     }
     public int findMin(int[] num) {
         int begin = 0;
         int end = num.length-1;
         while(begin <= end){
             int mid = (begin + end)/2;
             if(mid == 0){
                 if(mid+1 < num.length && num[mid+1] < num[mid])
                     return num[mid+1];
                 else {
                     return num[0];
                 }
             }
             if(mid == num.length-1){
                 if(mid-1 >=0 && num[mid-1] > num[mid])
                     return num[mid];
                 else {
                     return num[0];
                 }
             }
             if(num[mid-1] > num[mid] && num[mid+1] > num[mid])
                 return num[mid];
             if(num[num.length-1] < num[mid])
                 begin = mid+1;
             else {
                 end = mid-1;
             }
         }
         return num[0];
     }
 }
【leetcode刷题笔记】Find Minimum in Rotated Sorted Array的更多相关文章
- 【leetcode刷题笔记】Search in Rotated Sorted Array II
		
Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this ...
 - 【leetcode刷题笔记】Search 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 ...
 - 【leetcode刷题笔记】Remove Duplicates from Sorted Array II
		
Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? For exampl ...
 - 简单的算法题, Find Minimum in Rotated Sorted Array 的Python实现。
		
简单的算法题, Find Minimum in Rotated Sorted Array 的Python实现. 题目: Suppose a sorted array is rotated at som ...
 - LeetCode(154) Find Minimum in Rotated Sorted Array II
		
题目 Follow up for "Find Minimum in Rotated Sorted Array": What if duplicates are allowed? W ...
 - LeetCode(153) Find Minimum in Rotated Sorted Array
		
题目 Total Accepted: 65121 Total Submissions: 190974 Difficulty: Medium Suppose a sorted array is rota ...
 - 【leetcode刷题笔记】Minimum Window Substring
		
Given a string S and a string T, find the minimum window in S which will contain all the characters ...
 - 【leetcode刷题笔记】Minimum Depth of Binary Tree
		
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
 - 【leetcode刷题笔记】Remove Duplicates from Sorted List
		
Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...
 - (python)leetcode刷题笔记04  Median of Two Sorted Arrays
		
4. Median of Two Sorted Arrays There are two sorted arrays nums1 and nums2 of size m and n respectiv ...
 
随机推荐
- ActiveMQ安装优化
			
ActiveMQ性能測试 http://m.blog.csdn.net/blog/brushli/41750615 1.下载ActiveMQ 官网:http://activemq.apache.org ...
 - oauth 2
			
OAuth2是基于HTTP的认证API,一般与OAuth2搭配的API也是基于HTTP的REST风格API(比如新浪微博和github),很多人一定想过是否可以直接从浏览器端调用REST API. 我 ...
 - cxGrid 根据列值变色(样式)
			
在使用cxGrid的过程中,某一个单元格经常需要根据其他单元格的值来做相应的变色,如: 在cxGridDBTableView中,选定要变样式(如背景色.字体属性等)的列, 打开事件Events -&g ...
 - github删除已经push到服务器上的commit的方法
			
使用两条指令: git reset --hard <commit_id> git push origin HEAD --force 其中commit_id是你想回到的commit的id(即 ...
 - WebService之XFire和SOAP实例(基于JAVA)
			
开发环境:jdk1.6 + Tomcat7 + MyEclipse10 源码下载地址张贴在文章最后面:首先是使用WSDL协议实现:这里使用XFire XFire一个免费.开源的SOAP框架,它构建了P ...
 - 【转】 JS实现HTML标签转义及反转义
			
原文地址:http://blog.600km.xyz/2015/12/15/js-encode-html-tags/ 简单说一下业务场景,前台用户通过input输入内容,在离开焦点时,将内容在div中 ...
 - Jmeter--正则表达式提取值
			
博客首页:http://www.cnblogs.com/fqfanqi/ 设置界面如下: Apply to:应用范围的选择: Field to check:检查的领域,即需要提取内容的地方. 下面是各 ...
 - 《挑战程序设计竞赛》2.6 数学问题-辗转相除法 AOJ0005 POJ2429 1930(1)
			
AOJ0005 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0005 题意 给定两个数,求其最大公约数GCD以及最小公倍数LCM. ...
 - Duilib 入门级教程 推荐
			
http://www.cnblogs.com/Alberl/category/520438.html 作者写的不错,图文并茂,适合刚入门.
 - TGI指数
			
TGI指数 目标人群中国具有某一特征的群体占比/总体中具有相同特征的群体的占比*标准数100