leetcode — search-in-rotated-sorted-array
2018-02-28 09:09
323 查看
/** * Source : https://oj.leetcode.com/problems/search-in-rotated-sorted-array/ * * Created by lverpeng on 2017/7/13. * * 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 { /** * 有序数组以某一个支点被翻转过,在数组中查找某一个元素 * * 数组是局部有序的,使用二分查找的过程中使用这个特点 * * @param num * @return */ public int search (int[] num, int target) { int left = 0; int right = num.length - 1; int mid = 0; while (left <= right) { mid = (left + right) / 2; if (num[mid] == target) { return mid; } // left- mid之间是局部有序的 if (num[left] <= num[mid]) { if (num[left] <= target && target < num[mid]) { right = mid - 1; } else { left = mid + 1; } } else { // mid - right是有序的 if (mid < target && target <= num[right]) { left = mid + 1; } else { right = mid - 1; } } } return -1; } public static void main(String[] args) { SearchInRotatedSortedArray searchInRotatedSortedArray = new SearchInRotatedSortedArray(); int[] arr = new int[]{4, 5, 6, 7, 0, 1, 2}; System.out.println(searchInRotatedSortedArray.search(arr, 0)); System.out.println(searchInRotatedSortedArray.search(arr, 5)); System.out.println(searchInRotatedSortedArray.search(arr, 7)); } }
相关文章推荐
- leetcode - Search in Rotated Sorted Array II
- LeetCode Search in Rotated Sorted Array II
- leetcode刷题系列C++-Search in Rotated Sorted Array II
- Leetcode 81. Search in Rotated Sorted Array II (Medium) (cpp)
- Leetcode--Search in Rotated Sorted Array
- Search in Rotated Sorted Array II--LeetCode
- leetcode刷题系列C++-Search in Rotated Sorted Array II
- [LeetCode]Search in Rotated Sorted Array
- LeetCode: Search in Rotated Sorted Array
- LeetCode 33. Search in Rotated Sorted Array
- leetcode 33. Search in Rotated Sorted Array
- 2017-09-21 LeetCode_033 Search in Rotated Sorted Array
- search in rotated sorted array leetcode
- LeetCode Search in Rotated Sorted Array
- Leetcode: Search in Rotated Sorted Array II
- Leetcode c语言-Search in Rotated Sorted Array
- Search in Rotated Sorted Array -- LeetCode
- leetcode[33]Search in Rotated Sorted Array
- 【LeetCode】Search in Rotated Sorted Array 解题报告
- Leetcode[33]-Search in Rotated Sorted Array