经典二分查找问题

来源:互联网 发布:学中文的软件 编辑:程序博客网 时间:2024/05/15 15:39

问题描述:在一个排序数组中找一个数,返回该数的任意的位置,否则返回-1

public class Solution {    /**     * @param nums: An integer array sorted in ascending order     * @param target: An integer     * @return an integer     */    public int findPosition(int[] nums, int target) {        // Write your code here        if(nums==null||nums.length==0){            return -1;        }        int low=0;        int high=nums.length-1;        int mid=0;        while(low<=high){            mid=(high+low)/2;            if(nums[mid]>target){                high=mid-1;            }else if(nums[mid]<target){                low=mid+1;            }else{                return mid;            }        }        return -1;    }}

0 0
原创粉丝点击