Leetcode no.33

来源:互联网 发布:模拟退火算法例题 编辑:程序博客网 时间:2024/06/06 14:27

33. Search in Rotated Sorted Array

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.


public class Solution {    public int search(int[] nums, int target) {        if (nums.length==0) return -1;        int start= 0, end= nums.length-1;        while (start <= end){            int center= (start+end)/2;            if (nums[center] == target) return center;            if (nums[center]>= nums[start]){                if (target < nums[center] && target>= nums[start])                    end= center-1;                else start= center+1;            }            if (nums[center]<=nums[end]){                if (target > nums[center] && target<=nums[end])                    start= center+1;                else end= center-1;            }        }        return -1;    }}


0 0
原创粉丝点击