文章目录

  • 1. 题目信息
  • 2. 解题
    • 2.1 暴力遍历
    • 2.2 二分查找

1. 题目信息

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

你可以假设数组中无重复元素。

示例 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
输出: 0

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/search-insert-position
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

2.1 暴力遍历

class Solution {public:int searchInsert(vector<int>& nums, int target) {int i;for(i = 0; i < nums.size(); ++i){if(target <= nums[i]){return i;}}return i;}
};

2.2 二分查找

class Solution {public:int searchInsert(vector<int>& nums, int target) {if(target <= nums[0])return 0;if(target > nums[nums.size()-1])return nums.size();int i = 0, j = nums.size()-1, mid, ans = 1;while(i <= j){mid = i + (j-i)/2;if(nums[mid] == target)return mid;else if(nums[mid] > target)j = mid-1, ans = mid;//不知取哪边,这种写法比较好elsei = mid+1;}return ans;}
};

我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 35. 搜索插入位置(二分查找)相关推荐

  1. Leetcode 35.搜索插入位置 二分

    题目链接 思路: 是常规的二分法, 需要注意的是,当数字不存在的时候,需要返回插入该数进序列并保持有序的位置,即返回的是最后一个小于查找数target的位置.二分查找最后结束的位置,即退出循环时的左边 ...

  2. leetcode 35. 搜索插入位置(二分法搜索失败的情况)

    35. 搜索插入位置 思路:二分查找 模板: 如果查找成功,返回target在nums中的下标 //二分查找模板 //nums[0..n-1]为有序数组,target为目标 int left=0; i ...

  3. leetcode 35. 搜索插入位置

    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5 输 ...

  4. leetcode 35. 搜索插入位置 思考分析

    目录 题目 暴力 二分迭代 二分递归 题目 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 ...

  5. LeetCode 35.搜索插入位置

    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5 输 ...

  6. LeetCode (二分小专题)33搜索旋转排序数组34在排序数组中查找元素的第一个和最后一个位置35搜索插入位置

    前言 国庆前最后一次打卡,国庆后继续开启,公众号bigsai回复进群欢迎加入打卡,如有帮助记得点赞收藏. 近期打卡记录: LeetCode 32最长有效括号(困难) (本周) LeetCode 30串 ...

  7. LeetCode-二分查找-35. 搜索插入位置

    35. 搜索插入位置 思路:二分查找 class Solution {public:int searchInsert(vector<int>& nums, int target) ...

  8. LeetCode Algorithm 35. 搜索插入位置

    35. 搜索插入位置 Ideas 题目中给的提示已经很清楚了,要求时间复杂度是O(log n),这不是指着鼻子跟我说:给老子用二分查找嘛! Code Python def searchInsert(s ...

  9. 【LeetCode】35. 搜索插入位置---JavaScript解法

    [LeetCode]35. 搜索插入位置-JavaScript解法 原题链接:https://leetcode-cn.com/problems/search-insert-position/ /*** ...

最新文章

  1. 26.2. Web UI
  2. 发个IOCP的C++例子
  3. 浅析网站友情链接交换潜在问题有哪些?
  4. java 安卓调试_【转】Android 调试技术
  5. 【web前端开发】介绍div+css的6个优点
  6. mysql哪个版本和x86兼容_[C++]C++连接MySQL,封装为class(兼容x86和x64)
  7. c语言和电脑猜拳,c语言编写和电脑猜拳的游戏
  8. mac下显示隐藏文件的方法
  9. 项目Alpha冲刺Day3
  10. 03 - 雷达的基本组成
  11. 一款性价比远超visio的画图小工具-Dia Diagram Editor(开源-跨平台)
  12. [国家集训队]矩阵乘法 整体二分
  13. 往十年不忘初心,新十年不负韶华丨万字长文带你完整回顾2020数据技术嘉年华
  14. WordPress安装时未选择语言导致变成英文无法修改成中文
  15. 计算机无线鼠标重启才能连上,无线鼠标电脑重启后无反应
  16. 关于Python启动程序的其他方法,这些你应该知道>_(Python编程 | 系统编程 | 并行系统工具 | 启动程序的其他方法)
  17. Cisco AnyConnect 报错 connection failed due to unsuccessful domain name resolution
  18. 冬瓜哥对时间和空间的理解方式—时空参悟(下)
  19. busybox 的insmod can't insert operation not permitted 错误解决
  20. win7计算机没有光驱图标不见了,win7系统光驱图标消失怎么办

热门文章

  1. nginxlua文件服务器权限,通过lua进行nginx的权限控制
  2. 华为鸿蒙消费者,王成录谈鸿蒙挑战和华为消费者业务崛起
  3. git 使用及常用命令介绍
  4. 用户登录和注册的功能
  5. Java中,String类型和包装类型作为参数传递时,是属于值传递还是引用传递呢?...
  6. 修改MYSQL 密码
  7. 如何解决数据倾斜问题?
  8. ESP32,使用gitee搭建 ESP-IDF 开发框架
  9. 在实时操作系统里随便写代码都能硬实时吗?
  10. 每日一题(45)—— 字符数组找错