LeetCode Search in Rotated Sorted Array

来源:互联网 发布:mina 接收数据不完整 编辑:程序博客网 时间:2024/06/03 15:30

Search in Rotated Sorted Array Total Accepted: 50423 Total Submissions: 173779 My Submissions Question Solution
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.

class Solution {public:    int search(int A[], int n, int target) {        int low=0;        int high=n-1;        while(low<=high){            int mid=low+(high-low)/2;            if(A[mid]==target)return mid;            if(A[mid]<A[high])            {                if(A[mid]<target && target<=A[high])                    low=mid+1;                else                    high=mid-1;            }            else            {                if(A[mid]>target && target>=A[low])                    high=mid-1;                else                    low=mid+1;            }        }        return -1;    }};
0 0
原创粉丝点击