来源:力扣

题目描述:

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

请必须使用时间复杂度为 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相关推荐

  1. #力扣 LeetCode35. 搜索插入位置 #在所有 Java 提交中击败了 100.00% 的用户 @FDDLC

    题目描述: 35. 搜索插入位置 - 力扣(LeetCode) (leetcode-cn.com) Java代码: class Solution { //已有序:在数组中找到目标值,并返回其索引:如果 ...

  2. 导图整理数组1: 总结了二分查找的通用模板写法, 彻底解决几个易混淆问题, 力扣35:搜索插入位置

    此专栏文章是对力扣上算法题目各种方法的总结和归纳, 整理出最重要的思路和知识重点并以思维导图形式呈现, 当然也会加上我对导图的详解. 目的是为了更方便快捷的记忆和回忆算法重点(不用每次都重复看题解), ...

  3. 力扣35. 搜索插入位置python实现

    35. 搜索插入位置 一.问题描述 二.算法思想   题目中的数组是排好序的,从头开始遍历,当发现列表中元素的值与target相等时返回该元素在列表中的位置i,否则继续查找,当发现列表中的元素比tar ...

  4. 力扣35. 搜索插入位置

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

  5. 力扣35.搜索插入位置

    解题思路 暴力:先特殊考虑两个数组边界插入的情况,再遍历数组查找对应的位置即可 二分法:根据减而治之的思想,用while(left<right)的循环,在退出循环时left=right 代码 / ...

  6. Day13——T9回文数、T35搜索插入位置

    Day13--T9回文数.T35搜索插入位置 T9回文数 给你一个整数 x ,如果 x 是一个回文整数,返回 true :否则,返回 false . 回文数是指正序(从左向右)和倒序(从右向左)读都是 ...

  7. 力扣35-搜索插入位置(C++,左右闭区间,nums[mid]与target大小关系判断的不同及辨析)

    题目要求时间复杂度logN,所以肯定是用二分算法了,采用的是非递归,[left,right]闭区间的那种解法.两种分支的不同仅在于nums[mid]与target的大小判断语句及相关操作上.看测试用例 ...

  8. 力扣33搜索旋转排序数组

    整数数组 nums 按升序排列,数组中的值 互不相同 . 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nu ...

  9. 力扣——搜索插入位置

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

最新文章

  1. DataGrid基于Access的快速分页法
  2. 人工智能最受欢迎的十大TED演讲
  3. 架构师必备技能:Maven Archetype生成项目模板
  4. Java 反射修改类的常量值、静态变量值、属性值
  5. 简单三步搭建一对一直播源码系统
  6. 发现一个小坑的地方,unity的协程,想要停止,必须以字符串启动
  7. ebook_[EBOOK]十大Java性能问题
  8. 本地 mysql 数据库 上线 服务器_MySQL把本地数据库上传到服务器
  9. jsp页面引用相关js,css文件路径问题
  10. S5PV210体系结构与接口10:MMU编程
  11. python 给字符串加颜色
  12. python3装饰器例子_python3装饰器用法示例
  13. visio连接线文字背景填充_文字稿:visio中如何调整连接线上文字的位置?
  14. 叔叔阿姨,我真的不会修电脑
  15. 人在囧途之火车调研篇
  16. vue 移动端校验(是否移动设备,安卓/IOS,是否微信浏览器)
  17. python鼠标点击事件
  18. 解密回声消除技术之二(应用篇)
  19. 笔记本电脑右下角网络图标显示红叉
  20. C++ std::set<>是什么 怎么用 遍历

热门文章

  1. C++中的friend class 用法
  2. 03《软件需求模式》
  3. C++小游戏 吃豆人
  4. Linux集群 分布式存储-MFS部署
  5. 计算机图形学新篇章——Games 101环境搭建
  6. python微信公众号爬虫_微信公众号推送信息爬取---python爬虫
  7. 计算机二级要学的函数有哪些,计算机二级常用函数,你了解多少?
  8. 关于 passive
  9. 【RDMA】优化 RDMA 代码的提示和技巧
  10. 全球居然还有 2 亿多 IPv4 地址未分配