欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

35.搜索插入位置

程序员文章站 2024-02-25 09:11:04
...

题目描述:

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

示例

示例 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

解答:

public static int searchInsert(int[] nums, int target) {
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] == target) {
                // 相等时直接返回位置即可
                return i;
            }
        }
        // 都没有相等值的情况
        for (int i = 0; i < nums.length; i++) {
            if (target < nums[i]) {
                // target小于最小值
                if (i == 0) {
                    return 0;
                }
                // target小于下一个值
                return i;
            }
            // target大于最大值
            if (target > nums[nums.length - 1]) {
                return nums.length;
            }
        }
        return 0;
    }

上一篇: 最长连续序列(leetcode)

下一篇: