题目: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 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);
简易开端...
推荐阅读
- 操作系统|[译]从内部了解现代浏览器(1)
- web网页模板|如此优秀的JS轮播图,写完老师都沉默了
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- vue.js|vue中使用axios封装成request使用
- JavaScript|JavaScript: BOM对象 和 DOM 对象的增删改查
- JavaScript|JavaScript — 初识数组、数组字面量和方法、forEach、数组的遍历
- JavaScript|JavaScript — call()和apply()、Date对象、Math、包装类、字符串的方法
- JavaScript|JavaScript之DOM增删改查(重点)
- javascript|vue使用js-xlsx导出excel,可修改格子样式,例如背景颜色、字体大小、列宽等
- javascript|javascript中的数据类型转换