力扣35-搜索插入位置(二分查找法)

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

你可以假设数组中无重复元素。
示例 1:

输入: [1,3,5,6], 5
输出: 2

示例 2:

输入: [1,3,5,6], 2
输出: 1

示例 3:

输入: [1,3,5,6], 7
输出: 4

示例 4:

输入: [1,3,5,6], 0
输出: 0

二分查找法进行查找

class Solution {
     
    public int searchInsert(int[] nums, int target) {
     //二分查找
    int left = 0;
    int right = nums.length -1;
    while(left <= right){
     
        int i = (left+right)/2;
        if(nums[i] > target){
     
             right = right-1;
        }else if(nums[i]<target){
     
            left = left + 1;
        }else{
     
            return i;
        }
    }
    return left;
    }
}

你可能感兴趣的:(数组,leetcode,数据结构,算法,java)