leetcode35 插入的位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
思路:二分查找
public class Solution {public int searchInsert(int[] nums, int target) {int len = nums.length;if (nums[len - 1] < target) {return len;}int left = 0;int right = len - 1;while (left <= right) {int mid = (left + right) / 2;// 等于的情况最简单,我们应该放在第 1 个分支进行判断if (nums[mid] == target) {return mid;} else if (nums[mid] < target) {// 题目要我们返回大于或者等于目标值的第 1 个数的索引// 此时 mid 一定不是所求的左边界,// 此时左边界更新为 mid + 1left = mid + 1;} else {// 既然不会等于,此时 nums[mid] > target// mid 也一定不是所求的右边界// 此时右边界更新为 mid - 1right = mid - 1;}}// 注意:一定得返回左边界 left,// 如果返回右边界 right 提交代码不会通过// 【注意】下面我尝试说明一下理由,如果你不太理解下面我说的,那是我表达的问题// 但我建议你不要纠结这个问题,因为我将要介绍的二分查找法模板,可以避免对返回 left 和 right 的讨论// 理由是对于 [1,3,5,6],target = 2,返回大于等于 target 的第 1 个数的索引,此时应该返回 1// 在上面的 while (left <= right) 退出循环以后,right < left,right = 0 ,left = 1// 根据题意应该返回 left,// 如果题目要求你返回小于等于 target 的所有数里最大的那个索引值,应该返回 rightreturn left;}
}
leetcode35 插入的位置相关推荐
- 算法:搜索插入的位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中, // 返回它将会被按顺序插入的位置.你可以假设数组中无重复元素. 例:[1,3,5,6], 5 返回2 fu ...
- quill光标位置插入html,quill编辑器+word文档上传,插入指定位置
官方quill没有直接给出插入html的方式 类似,下面两个方法,是quill框架提供的,但是并没有提供可以在指定光标位置插入html quill.pasteHTML:这个方法已经废弃了,但目前还是可 ...
- excel2019单元格插入图片位置大小随单元格变化
描述:excel2019单元格插入图片位置大小随单元格变化 步骤: 复制图片到Excel2019单元格 调整图片到合适大小 双击图片,菜单栏会出现 图片工具格式 找到对齐,选择对齐网格 将图片对齐单元 ...
- php数组指定位置后加,PHP 数组合并、增加元素、插入指定位置
1,合并 $array1 = array("color" => "red", 2, 4); $array2 = array("a", ...
- 【指针编程】 编写一个函数,利用指针在字符串s中的指定位置pos处(这里插入的位置是从1开始,不是下标。)插入字符串。插入的位置和内容是从键盘输入
[问题描述] 编写一个函数,利用指针在字符串s中的指定位置pos处(这里插入的位置是从1开始,不是下标)插入字符串.插入的位置和内容是从键盘输入 要求:子函数 void InsertStr(char ...
- 【LeetCode】- Search Insert Position(查找插入的位置)
[ 问题: ] Given a sorted array and a target value, return the index if the target is found. If not, re ...
- JS字符串截取方法 JS字符串查找指定字符方法 JS字符串替换指定字符方法 JS字符串插入指定位置方法 JS字符串删除指定字符方法
js字符串截取的方法 方法一: str.slice(开始位置,结束位置) //start 参数字符串中第一个字符位置为 0, 第二个字符位置为 1, 以此类推,如果是负数表示从尾部截取多少个字符串,s ...
- Python 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
给定排序数组和目标值,如果找到目标,则返回索引. 如果没有,请返回索引按顺序插入的索引. 您可以假设数组中没有重复项. Example 1: Input: [1,3,5,6], 5 Output: 2 ...
- latex表插入的位置不对_VSCode_LaTex_英文amp;中文配置
I. VSCode+Latex安装 VSCode+Git安装 lonelybag:vscode_git_github 配置教程zhuanlan.zhihu.com Latex安装 踏歌:编写中文La ...
最新文章
- 盘点互联网巨头奉献的十大开源安全工具
- Hyperledger Fabric 交易流程
- python新闻管理系统_python项目——新闻管理系统
- Eclipse中单元测试
- 如何让计算机两个用户使用不同步,如何实现两台或多台电脑远程修改文件同步更新?...
- Algs4-1.4.14 4-sum
- 同一个SQL语句,为啥性能差异咋就这么大呢?
- 关于 Linux 的配置文件 /etc/profile 路径出错后相关的命令失效解决方式(如:ls,vi不能用)...
- Git图形化操作:Revert(恢复)本地的修改到上一个版本
- LAMP兄弟连的兄弟们都该看看!(绝非欺骗)
- 微信小程序获取服务器当前时间,微信小程序服务器日期格式化问题
- bat运行Java程序
- u 盘安装linux系统,CentOS 7 系统安装之 U 盘安装法
- FF300R08W2P2B11A 汽车用EasyPACK 模块 2 个独立式
- 微信小程序语音转文字demo
- 查询至少具有两份工作员工的姓名和其公司名
- vlog常用参数解析
- Android Studio卡在Building 'xxx' Gradle project info的解决办法
- IPv4地址的分配原理
- FileCounter文件统计小工具
热门文章
- 移除集合效率高还是add高_List、set集合接口分析
- Linux编程练习 --多线程1--线程创建
- 【转】图形流水线中坐标变换详解:模型矩阵、视角矩阵、投影矩阵
- 【转】[WSL2]WSL2迁移虚拟磁盘文件ext4.vhdx
- 【转】WPF中关于样式和模板的区别
- 【转】GitHub 从单机到联机:玩转 Pull Request
- 【转】C# 命名空间 Namespace (学习心得 23)
- windows程序消息机制(Winform界面更新有关)
- C#多线程之旅(2)——详解线程的开始和创建
- 35解释器模式(Interpreter Pattern)