代码编织梦想

题目:

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

你可以假设数组中无重复元素。

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

思路:

刚开始想直接使用js循环判断一下求解的,可是提交之后,提示内部错误,于是又换了一种思路

使用二分查找

同 

704. 二分查找   

278. 第一个错误的版本

代码实现:

/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number}
 */
var searchInsert = function(nums, target) {
    let left = 0, right = nums.length - 1;
    while(left <= right) {
        let mid = parseInt((left + right) / 2);
        if(nums[mid] === target) {
            return mid;
        }
        if(nums[mid] < target) {
            left = mid + 1;
        } 
        else if(nums[mid] > target) {
            right = mid - 1;
        }
    }
    return left;
};

运行结果:

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/M_Eve/article/details/111085600

尚硅谷_JavaWeb_Ajax(305~317)-爱代码爱编程

https://www.bilibili.com/video/BV1Y7411K7zz?p=305 一:JSON     1.JSON 是一种,轻量级的数据交换格式。易于阅读和编写     2.JSON两种存在形式:         1)对象形式存在:JSON对象。        一般需要操作数据的时候使用。         1)字符串形式存在:J

ECMAScript6(ES6)基础语法-爱代码爱编程

变量 在 ES6 以前,声明一个变量只有两种方式 —— var 和 function,分别对应JavaScript中的两种的类型:原始数据类型(Primitive data types)和对象类型(Object types),在ES6 新增四种声明变量的方式 let , const , import 和 class。 let 和 const 命令:

js盒子模型案例之回到顶部-爱代码爱编程

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{ margin:

一分钟打通JavaScript的try-catch-爱代码爱编程

导读: 在Java中我们使用try-catch进行异常处理,同样的JavaScript也提供了和异常处理类似的异常处理机制,本节我们将对JavaScript异常处理进行详细讲解。 <script> var i = {}; //定义一个变量 i.func(); //调用一个不存在的方法 consol

【LeetCode每日一练】1313. 解压缩编码列表(简单|JS|快慢指针)-爱代码爱编程

文章目录 一、题目描述二、解题思路三、代码实现 一、题目描述 二、解题思路 循环一次,根据nums[i]和nums[i+1]创建新的数组,再把这个数组concat到结果数组中,但leetcode上提交这个代码会显示内部错误???!(已发现问题,文末说明)快慢指针:其实和第一种思路其实差不多,但为什么这个就能提交???!三、代码实现 方

React开发可复用组件-爱代码爱编程

1、prop类型 (1)如果希望整个引用可以复用组件,关键要确保清晰的定义组件及其参数,以便能够直观使用。 React提供了一个非常简单的表达组件接口的强大工具,只要提供组件期望接收的prop名称与对应的验证规则即可。 import React from 'react'; import PropTypes from 'prop-types'; expo

力扣64. 最小路径和-爱代码爱编程

class Solution { public int minPathSum(int[][] grid) { if(grid == null || grid.length == 0 || grid[0].length == 0) return 0; int rows = grid.length; in

【java】376. 摆动序列---O(n)时间复杂度解决问题!!!-爱代码爱编程

如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。 例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第一个序列是因为它的前两个

从零开始刷力扣(三十五)——557. 反转字符串中的单词 III-爱代码爱编程

分类:字符串 题目描述: 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 示例: 输入:"Let's take LeetCode contest" 输出:"s'teL ekat edoCteeL tsetnoc" 提示: 在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。思路: 将原

LeetCode——62.不同路径-爱代码爱编程

一、题目 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例 1: 输入:m = 3, n = 7 输出:28 示例 2: 输入:m = 3, n = 2 输出:3 解释

【LeetCode每日一练】1313. 解压缩编码列表(简单|JS|快慢指针)-爱代码爱编程

文章目录 一、题目描述二、解题思路三、代码实现 一、题目描述 二、解题思路 循环一次,根据nums[i]和nums[i+1]创建新的数组,再把这个数组concat到结果数组中,但leetcode上提交这个代码会显示内部错误???!(已发现问题,文末说明)快慢指针:其实和第一种思路其实差不多,但为什么这个就能提交???!三、代码实现 方

经典算法:鸡蛋掉落问题-爱代码爱编程

经典算法:鸡蛋掉落问题 0. 引言1. 问题简介2. 算法思路3. 代码实现4. 算法优化5. 代码实现6. 总结0. 引言 鸡蛋掉落问题算是一道经典的算法题目了,leetcode上面也有收录,是被我收藏了的少数几道题目之一,确实是挺有意思的一道题目,李永乐老师也做过视频讲过这个问题。 刚好今天身体不太舒服,感冒难受的不行,也没啥精力去学一些新的