题目: 搜索插入位置

来自智得网
跳转至: 导航、​ 搜索

分析

二分法

二分查找目标值在排序数组中的位置,如果可以查询到目标值则返回位置的值。

如果找不到目标值,因为目标值在二分查找的过程中一直是在逼近目标值的位置,所以只需要判断二分循环结束之前的两个位置的值和目标值的关系就可以确定最终插入的位置。

题解

二分法

public class Solution{

    public static int solute(int nums[],int target){
        int left = 0, right = nums.length - 1;
        while(left <= right) {
            int mid = (left + right) / 2;
            if(nums[mid] == target) {
                return mid;
            } else if(nums[mid] < target) {
                left = mid + 1;
            } else {
                right = mid - 1;
            }
        }
        System.out.println(left);
        return left;
    }
}