【LeetCode】Search in Rotated Sorted Array II

class Solution {
public:
    bool search(int A[], int n, int target) {
            int start = 0, end = n;
	
	while (start != end)
	{
		int mid = (start + end) / 2;
		if (A[mid] == target)
			return  true;
		if (A[mid] > A[start])
		{
			if (A[start] <= target && A[mid] > target)
			{
				end = mid;
			}
			else
			{
				start = mid + 1;
			}
		}
		else if(A[mid] < A[start])
		{
			if (A[mid]<target && target<=A[end-1])
			{
				start = mid+1;
			}
			else
			{
				end = mid;
			}
		}
		else
		{
		    start++;
		}
	}
	return false;
    }
};

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章