Search in Rotated Sorted Array Solutions in Java
Number 33
Difficulty Medium
Acceptance 34.6%
Link LeetCode
Solutions
Java solution by haoel/leetcode
// Source : https://oj.leetcode.com/problems/search-in-rotated-sorted-array/// Inspired by : http://www.jiuzhang.com/solutions/search-in-rotated-sorted-array/// Author : Lei Cao// Date : 2015-10-03package searchInRotatedSortedArray;public class searchInRotatedSortedArray {/*** start [....1....] rotated pivot [....2...] end* @param nums* @param target* @return*/public int search(int[] nums, int target) {if (nums == null || nums.length == 0) {return -1;}int start = 0;int end = nums.length - 1;while (start + 1 < end) {int mid = start + (end - start) / 2;if (nums[mid] == target) {return mid;}if (nums[start] <= nums[mid]) { // in higher partif (nums[start] <= target && target <= nums[mid]) { // target within the start and mid.end = mid;} else {start = mid;}} else {if (nums[mid] <= target && target <= nums[nums.length -1]) { // target within the mid and the endstart = mid;} else {end = mid;}}}if (nums[start] == target) {return start;}if (nums[end] == target) {return end;}return -1;}}