搜索插入位置 - LeetCode

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

解题思路: 如果数组中存在该目标值(includes方法判断),直接返回该索引(indexOf方法), 如果不存在:分三种情况 1. 数组的末元素 小于 目标值,结果为nums.length 2. 数组的首元素 大于 目标值,结果为0 3. 目标值在数组首末元素的数值之间,遍历数组,当i项大于目标值时,i即为结果值 答案:

var nums = [1, 3, 5, 6]; var target = 7; var searchInsert = function (nums, target) { if (nums.includes(target)) { return nums.indexOf(target); } else { if (nums[nums.length - 1] < target) { return nums.length; } if (nums[0] > target) { return 0; } for (var i in nums) { if (nums[i] > target) { return i * 1; } } } }; searchInsert(nums, target);

简易开端...

    推荐阅读