leecode35题搜索插入位置——手写分析一看就懂

【LeetCode 简单 数组】35 搜索插入位置 想要看更加舒服的排版、更加准时的推送 关注公众号“不太灵光的程序员” 每日八点有干货推送,微信随时解答你的疑问 35 搜索插入位置 python3 简单 数组 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [1,3,5,6], 7 输出: 4 示例 4: 输入: [. 阅读详情

代码分析

难点

  1. 相比704的二分搜索算法这一个多了一个寻找插入位置的选项
  2. 区别在于704二分搜索算法我们查找失败返回的是-1,这个查找失败我们要返回这个下标元素,所以怎么利用我们已经定义的变量来确定这个下标是关键

按照这个红色圆圈标注的顺序进行分析代码

源代码

package 数组;

import java.util.Scanner;

public class 搜索插入位置35 {
    public static void main(String[] args) {
        int n;
        Scanner input = new Scanner(System.in);
        System.out.println("请输入数组的长度");
        n=input.nextInt();
        int[] num = new int[n];
        System.out.println("按照递增的顺序输入数组的元素");
        for (int i = 0; i < num.length; i++) {
            num[i]= input.nextInt();
        }
        System.out.println("请输入你要查找的目标值");
        int target = input.nextInt();
        System.out.println(searchInsert(num, target));
    }
    public static int searchInsert(int[] nums, int target) {
        //相比704的二分搜索算法这一个多了一个寻找插入位置的选项
        //区别在于704二分搜索算法我们查找失败返回的是-1,这个查找失败我们要返回这个下标元素,所以怎么利用我们已经定义的变量来确定这个下标是关键
        int length = nums.length;
        int left =0,right =length-1;
        int m=0;
        while(left<=right){
            m=(left+right)/2;
            if(nums[m]<target){
                left=m+1;
            }else if(nums[m]>target){
                right=m-1;
            }else return m;
        }
        //return m+1;//第一次尝试的失败代码
        return right+1;
        return left;
    }
}

以高通camera 申请ion内存看dma-buf 1 fd 与ion buffer, file绑定 简单总结就是申请一个buffer,再创建一个dmabuf 结构体然后将,然后将dmabuf中得指针指向buffer,dmabuf 再传递给一个匿名的inode,获取到一个file,这样file和dmabuf绑定起来,也就和buffer关联上。然后再从进程中分配一个空闲的fd,将fd 和file囊绑定。这样就能通过fd 快速查找到buffer。file 是个全系统的,他和进程无关,但是fd 是每个进程都是自己独立的,所以再跨进程传输时只需要保证fd ... 阅读详情

相关推荐

ML307A模组通过MQTT协议接入OneNET平台的AT指令全解析

本文详细解析了ML307A模组通过MQTT协议接入OneNET平台的完整AT指令流程。从平台侧的产品创建、设备添加,到核心难点连接密钥的计算方法,再到模组侧的基础网络附着、MQTT连接配置、数据收发及调试排错,提供了手把手的实战指南,帮助开发者快速实现物联网设备上云。

weixin_29240711的博客 492

LeetCode 热题 第35题 搜索插入位置

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

uifmlj的博客 1738

语音测试(二)音频标注(praat)

通过点击红线下方的圆点进行区域划分,在区域中标注所属的类别。按住Alt+Backspace 键取消蓝色线条。

beishida123的博客 3734

LeetCode题解:35.搜索插入位置

LeetCode题解:搜索插入位置,二分法题解的第一篇文章,之后我会陆续整理更多二分法的文章,结合leetcode,和大家一起掌握这个思想

余光的博客 4664

从示波器波形看懂死区:手把手教你调ST MCU的PWM,避免三相桥直通炸管

本文详细解析了如何通过示波器波形判断PWM死区时间,并手把手教你调整STM32高级定时器寄存器,避免三相逆变桥直通炸管。文章涵盖死区时间的本质与风险、STM32配置详解、示波器调试技巧及FOC系统中的特殊考量,帮助工程师优化电机驱动性能与安全性。

weixin_30315723的博客 733

无耳科技 Solon v3.0.8 发布,Java 企业级应用开发框架

Solon 是新一代,Java 企业级应用开发框架。是杭州无耳科技有限公司的“根级”开源项目(最近“杭州六小龙”很火啊,我们也是杭州的哦)。从零开始构建(No Spring、No Java-EE、No Servlet),有灵活的接口规范与开放生态。采用对商用友好的 Apache 2.0 开源协议。

向往自由的少年!(我是一个少年!!!) 1694

力扣 35 搜索插入位置

做题链接 35. 搜索插入位置 - 力扣(LeetCode) (leetcode-cn.com) 题目要求 题目示例 思路

weixin_53316121的博客 1009

PLC控制气缸与电磁阀:从原理到实战编程详解

在工业自动化领域,很多工程师都能编写PLC程序控制电机启停,但当涉及到气缸和电磁阀的精确控制时,却常常遇到动作不协调、响应延迟甚至设备损坏的问题。这背后的关键不在于PLC编程本身,而在于对气动元件特性和控制逻辑的深入理解。 本文将从实际工程问题出发,深入解析气缸与电磁阀的工作原理、PLC控制逻辑设计、常见故障排查方法,并通过完整的梯形图实例,帮助读者掌握气动系统自动化编程的核心要点。无论你是刚接触PLC的初学者,还是希望提升气动控制技能的工程师,都能从中获得实用的技术指导。 1. 气缸与电磁阀在自动化控制中

weixin_42522374的博客 337

C/C++描述 LeetCode 35. 搜索插入位置

C/C++描述 LeetCode 35. 搜索插入位置   大家好,我叫亓官劼(qí guān jié ),在优快云中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在优快云中写博客,唯一博客更新的地址为:亓官劼的博客 本文原创为亓官劼,请大家支持原创,部分平台一直在恶意盗取博主的文章!!! 题目 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6]

一起加油 2208

[Python从零到壹] 十三.机器学习之聚类算法四万字总结全网首发(K-Means、BIRCH、树状聚类、MeanShift)

欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家,希望对您有所帮助,文章中不足之处也请海涵。Python系列整体框架包括基础语法10篇、网络爬虫30篇、可视化分析10篇、机器学习20篇、大数据分析20篇、图像识别30篇、人工智能40篇、Python安全20篇、其他技巧10篇。您的关注、点赞和转发就是对秀璋最大的支持,知识无价人有情,希望

杨秀璋的专栏 2万+

YOLO26改进策略【YOLO和Mamba】| 2024 VM-UNet,高效的特征提取模块VSS block 二次创新提高精度

VM-UNet模型设计的出发点是解决现有CNN-based和模型在医学图像分割中的局限性,利用(SSMs)的优势,提出一种更有效的医学图像分割模型。具体来说,CNN-based模型在捕捉长距离信息方面存在不足,而模型由于自注意力机制的二次复杂度导致计算负担较重。SSMs模型如Mamba不仅在建模长距离依赖方面表现出色,还具有线性计算复杂度,这为VM-UNet的设计提供了理论基础。

Limiiiing的博客 214

LeetCode 35. 搜索插入位置:二分查找的边界条件深度解析

本文详细解析 LeetCode 35 题《搜索插入位置》的解题思路,重点探讨二分查找中循环条件 `left <= right` 的必要性,并提供 Java 实现代码。通过边界案例分析和常见错误解答,帮助读者深入理解二分查找的边界处理逻辑。

weixin_44435110的博客 2225

Vue3 - 详细实现接入使用海康威视监控云端显示及控制功能,网站集成安装海康监控及实时监控显示、回放、放大缩小画面、视频画面截图、截屏抓拍、摄像头控制,实时推流及播放器解决延迟卡顿等问题(详细代码)

vue3,nuxt3,海康威视,海康监控,摄像头监控,实时监控画面,海康插件,视频播放,回放,视频流地址,取流协议,视频sdk播放,hik,rtsp,rtmp,hls,ws,网站,网页,h5页面,后台管理系统,vue3对接海康监控设备,无法连接,报错,vue3对接海康处理接口认证规则,监控实时预览和回放功能,海康api接口,安全认证,海康开放平台,官方文档,播放海康摄像头的监控视频,海康实时监控播放详细步骤,web,黑屏,特别卡不流畅怎么办,解决无法推流,录像,连接不上,vue3,海康,vue海康视频监控,

🏆 前端领域优质创作者 1万+

LeetCode第35题_搜索插入位置

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

qq_40263592的博客 757

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【leecode】第35题:搜索插入位置

题目: 给定一个排序数组 nums 和一个目标值 var ,在数组中找到目标值,并返回其索引 如果目标值不存在数组中,返回它将会被按顺序插入的位置 题目链接:搜索插入位置 题目限制: 必须使用时间复杂度为O(log n)的算法 解题思路: 目标值只有四种情况: 1、目标值在数组所有元素之前 2、目标值等于数组某个元素 3、目标值不在数组中,需要插入到指定位置 4、目标值在数组所有元素之后 利用二分法来先求中...

inganxu 502

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Java实现 LeetCode 35 搜索插入位置

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

南 墙 1万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【算法】搜索插入位置 & x的平方根

在本篇文章中,我们通过「搜索插入位置」与「x 的平方根」两个经典题目,深入理解了 二分查找 的核心思想与应用方式。

qq_2778465975的博客 1万+

【Leecode刷题】二分查找:x的平方根、搜索插入位置

二分查找:x的平方根、搜索插入位置

认真分享博客,认真分享学习 507

LeetCode第35题,搜索插入位置

针对大厂算法面试,LeetCode第35题,搜索插入位置。

wangjiaqi333的博客 579

【LeetCode】35.搜索插入位置

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

weixin_63135906的博客 749

LeetCode35-搜索插入位置

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

lyd1995的博客 195

【LeetCode】[35] 搜索插入位置

LeetCode原题传送门 /* * @lc app=leetcode.cn id=35 lang=java * * [35] 搜索插入位置 * * https://leetcode-cn.com/problems/search-insert-position/description/ * * algorithms * Easy (42.34%) * Total Accepted...

Watson的博客 214

力扣35题,搜索插入位置

所以我们在使用二分法的时候,当发现nums[mid] >= target时,这个nums[mid]就有可能是我们要找的值,这时我们要记录下来这个mid,再进行二分法,直到再次遇到这个情况时再更新记录,直到二分法结束。3.target在这个mid对应的值的左边但不存在在数组中,那么这个值有可能是第一个大于target的值,记录下来,直到再次遇见这个条件才更新ans,如果这个mid对应的值真的是第一个大于target的值,那么之后的二分法再也找不到满足这个条件的mid了)(等同于下一题寻找右边界)

qq_52980102的博客 342

LeetCode 35. 搜索插入位置 | Python

使用二分查找的思路,解决《35. 搜索插入位置》问题

"大梦三千秋的博客 1367

【刷题之路】二分法的妙用 LeetCode 35. 搜索插入位置

当我们停下循环的时候,一定是left > right 的时候,这也一定是left向后移动的结果,而且只有当nums[mid] > target的时候才执行的left = mid + 1 (这里的mid是上一轮的mid,也即left == right时mid)直接遍历数组,如果找到target就返回其下标,当出现nums[i] < target && nums[i + 1] > target时,i + 1就是我们要顺序插入的下标。所以可以肯定的是,上一轮mid指向的元素小于target,

kk702392702的博客 245

【Leecode】Leecode刷题之路第35天之搜索插入位置

1.二分查找思想(天下大势,分久必合,合久必分):分治思想(大数据也用到了这种思想)代码示例:(Java)代码示例:(Java)

工一木子 314
上一篇: leecode69X的平方根和367有效的完全平方根-题目讲解和代码
下一篇: 手写讲解leecode704题,带你搞明白这二分搜索的易错点
TranquilGlow
博客等级 码龄5年 132粉丝 62原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值