0
点赞
收藏
分享

微信扫一扫

LeetCode 33. Search in Rotated Sorted Array


Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.

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.

answer:

class Solution {
public:
    int search(vector<int>& nums, int target) {
        if(nums.size() == 0) return -1;
        int pre;
        if(nums[0] > target){
            for(int i = nums.size() - 1; i > 0; i --){
                if(nums[i] == target) return i;
                if(nums[i] < nums[i - 1]) return -1;
            }
            return -1;
        }
        else if(nums[0] < target){
            for(int i = 0; i <= nums.size() - 1; i ++){
                if(nums[i] == target) return i;
                if(nums[i] > nums[i + 1]) return -1;
            }
            return -1;
        }
        else return 0;
    }
};




举报

相关推荐

0 条评论