SearchInRotatedSortedArray.java ( File view )
- By issaczr 2014-10-24
- View(s):52
- Download(s):0
- Point(s): 1
// Author: Li Long, 1988lilong@163.com // Date: Apr 17, 2014 // Source: http://oj.leetcode.com/problems/search-in-rotated-sorted-array/ // Analysis: http://blog.csdn.net/lilong_dream/article/details/22864861 // 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). // You are given a target value to search. // If found in the array return its index, otherwise return -1. // You may assume no duplicate exists in the array. public class SearchInRotatedSortedArray { public int search(int[] A, int target) { int left = 0; int right = A.length - 1; while (left <= right) { int mid = (left + right) / 2; if (A[mid] == target) { return mid; } if (A[mid] >= A[left]) { if (A[mid] > target && A[left] <= target) { right = mid - 1; } else { left = mid + 1; } } else { if (A[mid] < target && A[right] >= target) { left = mid + 1; } else { right = mid - 1; } } } return -1; } public static void main(String[] args) { int[] a = { 3, 1, 2 }; SearchInRotatedSortedArray slt = new SearchInRotatedSortedArray(); System.out.println(slt.search(a, 1)); System.out.println(slt.search(a, 4)); } }
...
Expand> <Close
Sponsored links
File list
Tips: You can preview the content of files by clicking file names^_^Name | Size | Date |
---|---|---|
0 | 1.97 kB | |
0 | 1.97 kB | |
AddBinary.java | 1.58 kB | 2014-05-09 03:48 |
AddTwoNumbers.java | 2.54 kB | 2014-05-09 03:48 |
BinaryTreePreorderTraversal.java | 1.91 kB | 2014-05-09 03:48 |
ClimbingStairs.java | 811.00 B | 2014-05-09 03:48 |
EvaluateReversePolishNotation.java | 1.51 kB | 2014-05-09 03:48 |
GenerateParentheses.java | 1.15 kB | 2014-05-09 03:48 |
ImplementStrStr.java | 1.00 kB | 2014-05-09 03:48 |
InsertionSortList.java | 1.64 kB | 2014-05-09 03:48 |
IntegerToRoman.java | 923.00 B | 2014-05-09 03:48 |
LengthOfLastWord.java | 1.11 kB | 2014-05-09 03:48 |
LinkedListCycle.java | 1.32 kB | 2014-05-09 03:48 |
LinkedListCycleII.java | 1.28 kB | 2014-05-09 03:48 |
LongestCommonPrefix.java | 916.00 B | 2014-05-09 03:48 |
LongestSubstring.java | 1.79 kB | 2014-05-09 03:48 |
MaximumSubarray.java | 1.10 kB | 2014-05-09 03:48 |
MedianOfTwoSortedArrays.java | 1.68 kB | 2014-05-09 03:48 |
MergeSortedArray.java | 1.12 kB | 2014-05-09 03:48 |
MergeTwoSortedLists.java | 1.84 kB | 2014-05-09 03:48 |
MinimumPathSum.java | 1.19 kB | 2014-05-09 03:48 |
PathSum.java | 1.67 kB | 2014-05-09 03:48 |
PlusOne.java | 1.06 kB | 2014-05-09 03:48 |
Powxn.java | 712.00 B | 2014-05-09 03:48 |
RemoveDuplicatesFromSortedList.java | 1.48 kB | 2014-05-09 03:48 |
RemoveDuplicatesfromSortedArray.java | 1.30 kB | 2014-05-09 03:48 |
RemoveElement.java | 885.00 B | 2014-05-09 03:48 |
RemoveNthNodeFromEnd.java | 1.70 kB | 2014-05-09 03:48 |
ReverseInteger.java | 936.00 B | 2014-05-09 03:48 |
RotateList.java | 1.53 kB | 2014-05-09 03:48 |
SameTree.java | 1.15 kB | 2014-05-09 03:48 |
SearchForARange.java | 1.37 kB | 2014-05-09 03:48 |
SearchInRotatedSortedArray.java | 1.27 kB | 2014-05-09 03:48 |
SearchInsertPosition.java | 1.09 kB | 2014-05-09 03:48 |
SetMatrixZeroes.java | 1.95 kB | 2014-05-09 03:48 |
SingleNumber.java | 935.00 B | 2014-05-09 03:48 |
SortList.java | 1.75 kB | 2014-05-09 03:48 |
Sqrt.java | 907.00 B | 2014-05-09 03:48 |
StringToInteger_atoi.java | 1.46 kB | 2014-05-09 03:48 |
Sum3.java | 1.76 kB | 2014-05-09 03:48 |
TwoSum.java | 2.33 kB | 2014-05-09 03:48 |
UniqueBinarySearchTrees.java | 1.01 kB | 2014-05-09 03:48 |
UniquePaths.java | 976.00 B | 2014-05-09 03:48 |
UniquePathsII.java | 1.84 kB | 2014-05-09 03:48 |
ValidParentheses.java | 1.23 kB | 2014-05-09 03:48 |
ValidateBinarySearchTree.java | 1.44 kB | 2014-05-09 03:48 |
Sponsored links