力扣T35. 搜索插入位置 C
来源:力扣
题目描述:
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
请必须使用时间复杂度为 O(log n) 的算法。
简单二分查找一下位置即可。注意一下当找到的位置为 0 和 数组长度 -1 时也是查找的终点。
int searchInsert(int* nums, int numsSize, int target){int l=0,r=numsSize,m;while(l<r){m=(l+r)/2;if(nums[m]==target)return m;//找到了else if(nums[m]>target){if(m==0||nums[m-1]<target)return m;else r=m;}else if(nums[m]<target){if(m==numsSize-1||nums[m+1]>target)return m+1;else l=m+1;}}return m;//如果没找到,最终退出循环的位置就是插入位置
}
力扣T35. 搜索插入位置 C相关推荐
- #力扣 LeetCode35. 搜索插入位置 #在所有 Java 提交中击败了 100.00% 的用户 @FDDLC
题目描述: 35. 搜索插入位置 - 力扣(LeetCode) (leetcode-cn.com) Java代码: class Solution { //已有序:在数组中找到目标值,并返回其索引:如果 ...
- 导图整理数组1: 总结了二分查找的通用模板写法, 彻底解决几个易混淆问题, 力扣35:搜索插入位置
此专栏文章是对力扣上算法题目各种方法的总结和归纳, 整理出最重要的思路和知识重点并以思维导图形式呈现, 当然也会加上我对导图的详解. 目的是为了更方便快捷的记忆和回忆算法重点(不用每次都重复看题解), ...
- 力扣35. 搜索插入位置python实现
35. 搜索插入位置 一.问题描述 二.算法思想 题目中的数组是排好序的,从头开始遍历,当发现列表中元素的值与target相等时返回该元素在列表中的位置i,否则继续查找,当发现列表中的元素比tar ...
- 力扣35. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 请必须使用时间复杂度为 O(log n) 的算法. 二分搜索法 class S ...
- 力扣35.搜索插入位置
解题思路 暴力:先特殊考虑两个数组边界插入的情况,再遍历数组查找对应的位置即可 二分法:根据减而治之的思想,用while(left<right)的循环,在退出循环时left=right 代码 / ...
- Day13——T9回文数、T35搜索插入位置
Day13--T9回文数.T35搜索插入位置 T9回文数 给你一个整数 x ,如果 x 是一个回文整数,返回 true :否则,返回 false . 回文数是指正序(从左向右)和倒序(从右向左)读都是 ...
- 力扣35-搜索插入位置(C++,左右闭区间,nums[mid]与target大小关系判断的不同及辨析)
题目要求时间复杂度logN,所以肯定是用二分算法了,采用的是非递归,[left,right]闭区间的那种解法.两种分支的不同仅在于nums[mid]与target的大小判断语句及相关操作上.看测试用例 ...
- 力扣33搜索旋转排序数组
整数数组 nums 按升序排列,数组中的值 互不相同 . 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nu ...
- 力扣——搜索插入位置
搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 请必须使用时间复杂度为 O(log n) 的算法. 示例 1: ...
最新文章
- DataGrid基于Access的快速分页法
- 人工智能最受欢迎的十大TED演讲
- 架构师必备技能:Maven Archetype生成项目模板
- Java 反射修改类的常量值、静态变量值、属性值
- 简单三步搭建一对一直播源码系统
- 发现一个小坑的地方,unity的协程,想要停止,必须以字符串启动
- ebook_[EBOOK]十大Java性能问题
- 本地 mysql 数据库 上线 服务器_MySQL把本地数据库上传到服务器
- jsp页面引用相关js,css文件路径问题
- S5PV210体系结构与接口10:MMU编程
- python 给字符串加颜色
- python3装饰器例子_python3装饰器用法示例
- visio连接线文字背景填充_文字稿:visio中如何调整连接线上文字的位置?
- 叔叔阿姨,我真的不会修电脑
- 人在囧途之火车调研篇
- vue 移动端校验(是否移动设备,安卓/IOS,是否微信浏览器)
- python鼠标点击事件
- 解密回声消除技术之二(应用篇)
- 笔记本电脑右下角网络图标显示红叉
- C++ std::set<>是什么 怎么用 遍历