给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它 将会被按顺序插入的位置,你可以假设数组中无重复元素.(二分法)

class Solution {
    public int searchInsert(int[] nums, int target) {
        int left=0,right=nums.length-1;
	        int mid=-1;
	        while(left<=right){
	            mid=left+(right-left)/2;
	            if(nums[mid]target){
	                right=mid-1;
	            }else{
	                return mid;//找到了则返回下标
	            }
	        }
	        return left;//没找到则返回其位置左边的下标,即为它按顺序插入的位置
	        }
 }

你可能感兴趣的:(Java)