力扣刷题Days23-35.搜索插入的位置(js)

1,题目

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。

2,代码

javascript 复制代码
/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number}
 */
var searchInsert = function(nums, target) {
    let left = 0;
    let right = nums.length - 1;

    while (left <= right) {
        let mid = left + Math.floor((right - left) / 2);

        if (nums[mid] === target) {
            return mid;
        } else if (nums[mid] < target) {
            left = mid + 1;
        } else {
            right = mid - 1;
        }
    }

    // 如果循环结束了还没有找到目标值,那么 left 指针的位置就是目标值应该被插入的位置
    return left;
};

3,学习与总结

学习与积累

javascript 复制代码
 let mid = left + Math.floor((right - left) / 2);

勉励自己:贵在坚持

这题做的时候个人比较疲惫,二刷重点巩固。---重点是 理解left和right关系。

相关推荐
一去不复返的通信er3 小时前
力扣-图论-岛屿数量
算法·leetcode·图论
2501_944521593 小时前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
Ken_11155 小时前
小体积附件下载正常,大附件下载异常
javascript
变与不变8066 小时前
jQuery怎么使用
前端·javascript
paopaokaka_luck6 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
仰望.6 小时前
vue 表格组件 vxe-table 树表格懒加载支持拖拽排序的详细用法
前端·javascript·vue.js·vxe-table
程序 代码狂人6 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
HDU-Dade7 小时前
【校招笔试真题】简要介绍 Self-Attention 的前沿算法
人工智能·算法
Xin7708 小时前
LeetCode 79. 单词搜索(DFS 回溯法)
leetcode
程序员初一8 小时前
我把跑了两年 WordPress 的机器重装了一遍,顺便把面板卸了
javascript