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.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 |
public class Solution { public
boolean search( int [] A, int
target) { boolean
isIn = false ; int
index = findMin(A); if (index == 0 ) isIn = (Arrays.binarySearch(A, 0 , A.length, target) >= 0 ); else isIn = (Arrays.binarySearch(A, 0 , index, target) >= 0 ) || (Arrays.binarySearch(A, index, A.length, target) >= 0 ); return
isIn; } public
static int findMin( int [] A){ int
i = A.length - 1 ; for (; i > 0 ; --i){ if (A[i] < A[i - 1 ]) break ; } return
i; } } |
leetcode--Search in Rotated Sorted Array II,布布扣,bubuko.com
leetcode--Search in Rotated Sorted Array II
原文地址:http://www.cnblogs.com/averillzheng/p/3774408.html