leetcode 35. 搜索插入位置 |刷题打卡

63 阅读1分钟

本文正在参与掘金团队号上线活动,点击 查看大厂春招职位

一、题目描述:

leetcode 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

二、思路分析:

  • 数组indexOf得到存在于数组中目标元素的位置下标;
  • 若不存在数组中,题目说明:数组中无重复元素,则可以将元素插入大于此元素的数组下标位置

三、AC代码

var searchInsert = function(nums, target) {
    let has = nums.indexOf(target);
    if (has > -1) {
        return has;
    } else {
        let len = nums.length;
        for (var i = 0; i < len; i++) {
            if (nums[i] > target) {
                return i;
            }
        }
        return len;
    }
};

执行结果

执行结果:通过
执行用时:80 ms, 在所有 JavaScript 提交中击败了79.79%的用户
内存消耗:38.9 MB, 在所有 JavaScript 提交中击败了27.05%的用户

四、总结:

  • 数组indexOf得到已存在数组中目标元素的下标
  • 数组不存在的元素,循环得到插入的位置下标