LeetCode------33. Search in Rotated Sorted Array(旋转数组中查找)

来源:互联网 发布:招聘网络女主播 编辑:程序博客网 时间:2024/06/05 14:14

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) {        int start=0,end=nums.length-1;        int mid;        if(nums.length==0||nums==null){return -1;}        while(start+1<end){              mid=(start+end)/2;            if(nums[mid]==target){return mid;}                     if(nums[start]<nums[mid]){               if(nums[start]<=target&&target<=nums[mid]){end=mid;}else{start=mid;}             }            else{                if(nums[mid]<=target&&target<=nums[end]){start=mid;}else{end=mid;}            }                    }        if(nums[start]==target){return start;}        if(nums[end]==target){return end;}        return -1;    }}



0 0
原创粉丝点击