【leetcode】Find Minimum in Rotated Sorted Array II JAVA实现
一、题目描述
Follow up for "Find Minimum in Rotated Sorted Array":
What if duplicates are allowed?Would this affect the run-time complexity? How and why?
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.
The array may contain duplicates.
这道题目就是Find Minimum in Rotated Sorted Array的增强版,在数组中增加了重复的元素。
具体的解法在http://www.cnblogs.com/rolly-yan/p/4032167.html中进行了详细的分析,如有需要请参考。
二、代码实现
package com.edu.leetcode;
public class FindMinimuminRotatedSortedArray {
public int findMin(int[] num) {
int start=0;
int end=num.length-1;
while(num[start]>=num[end]){ //num[start]>=num[end]说明数组不是正向有序的,最小值不在第一个位置
if(end-start==1){ //循环结束的条件,当只有两个元素的
return num[end];
}
int mid=(start+end)/2;
if(num[start]==num[mid]&&num[mid]==num[end]){
//有这个条件有两种情况:1、当只有一个元素时;
//2、当数组中有大量重复的元素时,不可以再使用对半查找
int minValue=num[start];
for(int i=start+1;i<=end;i++){
if(num[i]<minValue)
minValue=num[i];
}
return minValue;
}
if(num[mid]>=num[start]){ //当出现这种情况说明最小值出现在mid与end之间
start=mid;
}
else{ //说明最小出现在start与mid之间
end=mid;
}
}
return num[start]; //这个是说明数组从start到end正向有序,所以最小值就是start位置的元素
}
public static void main(String[] args) {
// TODO Auto-generated method stub
FindMinimuminRotatedSortedArray f = new FindMinimuminRotatedSortedArray();
int[] num = { 1};
System.out.println(f.findMin(num));
}
}
【leetcode】Find Minimum in Rotated Sorted Array II JAVA实现的更多相关文章
- [LeetCode] Find Minimum in Rotated Sorted Array II 寻找旋转有序数组的最小值之二
Follow up for "Find Minimum in Rotated Sorted Array":What if duplicates are allowed? Would ...
- LeetCode Find Minimum in Rotated Sorted Array II
原题链接在这里:https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/ 题目: Follow up for &qu ...
- leetcode 154. Find Minimum in Rotated Sorted Array II --------- java
Follow up for "Find Minimum in Rotated Sorted Array":What if duplicates are allowed? Would ...
- LeetCode——Find Minimum in Rotated Sorted Array II
Question Follow up for "Find Minimum in Rotated Sorted Array": What if duplicates are allo ...
- [leetcode]Find Minimum in Rotated Sorted Array II @ Python
原题地址:https://oj.leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/ 解题思路:这道题和上一道题的区别是,数组中 ...
- Java for LeetCode 154 Find Minimum in Rotated Sorted Array II
Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...
- Leetcode之二分法专题-154. 寻找旋转排序数组中的最小值 II(Find Minimum in Rotated Sorted Array II)
Leetcode之二分法专题-154. 寻找旋转排序数组中的最小值 II(Find Minimum in Rotated Sorted Array II) 假设按照升序排序的数组在预先未知的某个点上进 ...
- [LeetCode] 154. Find Minimum in Rotated Sorted Array II 寻找旋转有序数组的最小值 II
Follow up for "Find Minimum in Rotated Sorted Array":What if duplicates are allowed? Would ...
- 【LeetCode】154. Find Minimum in Rotated Sorted Array II 解题报告(Python)
[LeetCode]154. Find Minimum in Rotated Sorted Array II 解题报告(Python) 标签: LeetCode 题目地址:https://leetco ...
随机推荐
- Jquery DataTables warning : Requested unknown from the data source for row 0
昨天在做 Jquery DataTables 的时候,遇到的一个问题,我使用MVC,在tables上加入了一个actionlink的href.但是在运行起来的时候,报错: DataTables war ...
- JavaWeb项目开发案例精粹-第6章报价管理系统-001需求分析及设计
1. 2. 3. 4. 5. 6.
- linux 如何让程序后台执行
$ (./test.sh &) $ setsid ./test.sh & $ nohup ./test.sh & 具体的转自:http://digdeeply.or ...
- FMX的综合评价
Cliff: 我个人觉得FMX值得学,因为可以做Mac软件,可以做Windows下的DirectUI,可以开发iOS/Android,而且是可视化开发,可利用RTL一切函数,包括可使用所有非可视控件. ...
- iOS 安装使用cocoapods
一.什么是CocoaPods 1.为什么需要CocoaPods 在进行iOS开发的时候,总免不了使用第三方的开源库,比如SBJson.AFNetworking.Reachability等等.使用这些库 ...
- DB2时间操作
以下内容选编自<DB2 基础: 日期和时间的使用> 1.使用SQL获取数据库服务器当前时间戳 SELECT current date FROM sysibm.sysdummy1 SELEC ...
- POJ1088滑雪
Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道 ...
- PO/POJO/VO/BO/DAO/DTO
PO(persistant object) 持久对象在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库 ...
- 非root模式下安装mysql
1. 下载mysql.tar.gz wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz 2. 下载cmake [ ...
- SQL Server ->> Msg 7411, Level 16, State 1, Line 1 -- Server 'XXXX' is not configured for RPC.
关于问题,有两个相关的服务器选项. exec sp_serveroption @server='CIA-SH-SVR-SIS', @optname='rpc', @optvalue='true' ex ...