0
点赞
收藏
分享

微信扫一扫

数组之搜索插入位置

ixiaoyang8 2022-03-30 阅读 47
javaleetcode

题目

 代码

package array;

import java.util.ArrayList;
import java.util.Scanner;

public class SearchInsert {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        String[] split = s.substring(1, s.length() - 1).split(",");

        int[] nums = new int[split.length];
        for (int i = 0; i < nums.length; i++) {
            nums[i] = Integer.parseInt(split[i]);
        }

        int target = sc.nextInt();
        System.out.println(searchInsert(nums, target));
        sc.close();


    }

    //  二分
    public static int searchInsert(int[] nums, int target) {
        int left = 0;
        int right = nums.length - 1;
        while (left <= right) {
            int mid = (left + right) >> 1;
            if (nums[mid] > target) {
                right = mid - 1;
            } else if (nums[mid] < target) {
                left = mid + 1;
            } else {
                return mid;
            }
        }
        return left;
    }
}

结果

 注意点

一定要处理好mid left right的变化,是否+1 -1

举报

相关推荐

0 条评论