LeetCode-Search in Rotated Sorted Array II

来源:互联网 发布:淘宝详情页关联怎么做 编辑:程序博客网 时间:2024/06/16 12:18

Follow up for "Search in Rotated Sorted Array":
What if duplicates are allowed?

Would this affect the run-time complexity? How and why?

Write a function to determine if a given target is in the array.

Solution:

Code:

<span style="font-size:14px;">class Solution {public:    bool helper(int A[], int begin, int end, const int &target) {        if (begin > end) return false;        int mid = (begin+end)/2;        if (A[mid] == target) return true;        else if (A[begin] < A[mid]) {            if (A[begin] <= target && target < A[mid]) return helper(A, begin, mid-1, target);            else return helper(A, mid+1, end, target);        } else if (A[mid] < A[end]) {            if (A[mid] < target && target <= A[end]) return helper(A, mid+1, end, target);            else return helper(A, begin, mid-1, target);        } else if (A[begin] > A[mid])            return helper(A, begin, mid-1, target);        else if (A[mid] > A[end])            return helper(A, mid+1, end, target);        else            return helper(A, begin, mid-1, target)||helper(A, mid+1, end, target);    }        bool search(int A[], int n, int target) {        return helper(A, 0, n-1, target);    }};</span>



0 0
原创粉丝点击