首页 > 其他 > 详细

Search in Rotated Sorted Array II

时间:2014-02-06 16:37:48      阅读:386      评论:0      收藏:0      [点我收藏+]

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

Would this affect the run-time complexity? How and why?

Write a function to determine if a given target is in the array.

bubuko.com,布布扣
 1 public class Solution {
 2     //rotated array all is <= 
 3     public boolean search(int[] A, int target) {
 4         if(A.length<=0){return false;}
 5         int start = 0, end = A.length-1;
 6         while(start<=end){
 7             int mid = (start+end)/2;
 8             if(A[mid]==target) return true;
 9             if(A[mid]>A[start]){
10                 if(target>=A[start] && target<=A[mid]){
11                     end = mid-1;
12                 }
13                 else{
14                     start = mid+1;
15                 }
16             }
17             else if(A[mid]<A[start]){
18                 if(target>=A[mid] && target<=A[end]){
19                     start = mid+1;
20                 }
21                 else{
22                     end = mid-1;
23                 }
24             }
25             else{
26                 start ++;
27             }
28         }
29         return false;
30     }
31 }
View Code

Search in Rotated Sorted Array II

原文:http://www.cnblogs.com/krunning/p/3538771.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!