首页 > 其他分享 >力扣-数组-35 搜索插入位置

力扣-数组-35 搜索插入位置

时间:2025-01-07 20:57:45浏览次数:3  
标签:right target nums int 35 力扣 插入 result left

解析

时间复杂度要求,所以使用二分的思想,漏掉了很多问题,这里记录

  1. 在left-right=1时,已经找到了插入位置,但是没有赋值,然后break,所以导致一直死循环。
    if(right - left == 1){
        result = right;
        break;
    }

  2. 在和最右侧数比较时,漏掉了相等时就直接找到,所以在数组是[1,3],target=1时,应该返回下标0
    if(target <= nums[left]){
         result = left;
         break;
    }               

  3. 长度为0时,不进入循环了,所以循环条件是left <= right。

代码

class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        int left = 0;
        int right = nums.size()-1;
        int result = 0;
        while(left <= right){
            int mid = (left+right)/2;
            if(target <= nums[left]){
                result = left;
                break;
            }
            if( nums[right] < target){
                result = right+1;
                break;
            }
            if( nums[right] == target){
                result = right;
                break;
            }
            if(right - left == 1){
                result = right;
                break;
            }
            if(nums[mid] < target){
                left = mid;
            }else if(target < nums[mid]){
                right = mid;
            }else if(nums[mid] == target){
                result = mid;
                break;
            }
            
        }
        return result;
    }
};

标签:right,target,nums,int,35,力扣,插入,result,left
From: https://blog.csdn.net/qq_45964225/article/details/144980171

相关文章

  • 力扣 74. 搜索二维矩阵
    ......
  • 力扣13罗马数字转整数
    classSolution:defromanToInt(self,s:str)->int:#定义罗马数字到整数的映射change={'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000}#......
  • 力扣刷题:二叉树OJ篇(下)
    大家好,这里是小编的博客频道小编的博客:就爱学编程很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!!目录1.(1)题目描述(2)解题思路2.对称二叉树(1)题目描述(2)解题思路3.另一棵树的子树(1)题目描述(2)解题思路4.二叉树的构建及遍历(1)题目描述(2......
  • [题目记录]CF335F Buy One , Get One Free
    CF335FBuyOne,GetOneFree题意\(n\)个物品,价格为\(a_i\),每买一个物品\(i\)可以免费得到一个\(a_j<a_i\)的物品\(j\),问获取所有物品的最小花费.\(n\le5\times10^5\),\(1\lea_i\le10^9\).题解有一个最直接显然的贪心是买最大,送次大,以此类......
  • 办公VLAN创建+基本业务需求-S5735S-L32ST4X-A1
    1.需求说明新建立一个网段用于办公使用,网络拓扑图如下业务vlan规划如下办公业务2地址120192.168.12.0/24255.255.255.0192.168.0.254DHCP2.配置核心交换机配置[HEX]vlan120[HEX]intvlan120[HEX-Vlanif120]disthis#interfaceVlanif120descriptionJK_......
  • realsense2_Camera+D435i+rtsp推流+Windows_VLC拉流
    一、环境配置首先下载ROS_rtsp的包在工作空间的src的目录下安装rtspcd~/my_workspace/srcgitclonehttps://github.com/CircusMonkey/ros_rtsp.git返回工作空间的根目录,编译软件包一、环境配置 cd..catkin_makepkg:=ros_rtsprealsense2_Camera的包自行下载就行......
  • 35
    实验15:职责链模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解职责链模式的动机,掌握该模式的结构;2、能够利用职责链模式解决实际问题。 [实验任务一]:财务审批某物资管理系统中物资采购需要分级审批,主任可以审批1万元及以下的采购单,部门经理可以审批5万......
  • 【235. 二叉搜索树的最近公共祖先 中等】
    题目:给定一个二叉搜索树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个结点p、q,最近公共祖先表示为一个结点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树:root......
  • 【PostgreSQL数据库-Tried to send an out-of-range integer as a 2-byte value: 5356
    业务侧反馈,因为某业务积攒的单量太大,导致在数据批量入库的时候,产生如下报错,主要报错信息是:请求参数的整体大小不能超过2byte。Triedtosendanout-of-rangeintegerasa2-bytevalue:53568这个报错初步看起来,有个“out-of-rangeinteger”,可能大家第一个想到的可能......
  • DRV8353RS芯片驱动程序的实现
    目录概述1.硬件接口定义1.1DRV8353RS的SPI控制模块 1.2 时序介绍1.3 数据格式2驱动代码实现2.1STM32Cube配置接口2.2驱动程序实现 2.2.1接口函数实现 2.2.2default参数配置 2.2.3初始化函数 2.2.4读取状态函数3驱动程序测试3.1参数初始化3.2......