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.
此题很简单,最笨的方法就是一个一个找,如果好一点,可以设定一些条件进行剪枝。
int search(int A[], int n, int target) { //C++ if(n < 0) return -1; if(n == 1) if(A[0] == target) return 0; else return -1; if(A[0] == target) return 0; for(int i = 1; i < n; i++) { if(A[i] < A[i-1]) { if(A[i] > target || A[i-1] < target || target > A[n-1]) return -1; } if(A[i] == target ) return i; } return -1; }
[leetcode]Search in Rotated Sorted Array
原文地址:http://blog.csdn.net/chenlei0630/article/details/41410851