目录

  • 题目
  • 暴力
  • 二分迭代
  • 二分递归

题目

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

暴力

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

二分迭代

class Solution {public:int searchInsert(vector<int>& nums, int target) {int start = 0;int end = nums.size()-1;int mid;while(start <= end){mid = (start + end)/2;if(nums[mid] == target) return mid;else if(nums[mid] > target){end = mid -1;}else{start = mid +1;}}return start;}
};

二分递归

class Solution {public:int recur(vector<int>& nums, int start,int end,int target){if(start > end) return start;int mid = (start + end)/2;if(nums[mid] == target) return mid;else if(nums[mid] > target){return recur(nums,start,mid -1,target);}else{return recur(nums,mid +1,end,target);}return start;}int searchInsert(vector<int>& nums, int target) {return recur(nums,0,nums.size()-1,target);}
};

leetcode 35. 搜索插入位置 思考分析相关推荐

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

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

  2. leetcode 35. 搜索插入位置

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

  3. LeetCode 35. 搜索插入位置(二分查找)

    文章目录 1. 题目信息 2. 解题 2.1 暴力遍历 2.2 二分查找 1. 题目信息 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插 ...

  4. LeetCode 35.搜索插入位置

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

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

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

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

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

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

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

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

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

  9. ARTS-23(35. 搜索插入位置,SELU激活函数,本周几个问题, 招商银行财报分析)

    Algorithm https://leetcode-cn.com/problems/search-insert-position/ 35. 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目 ...

最新文章

  1. linux kernel 最新版本,linux kernel 最新版本4.10正式发布 附下载地址
  2. 操作系统中的同步和异步
  3. 发送接收图片_国际空间站将在8月4-5号发送SSTV图片,普通对讲机可接收
  4. 2018-2019-1 20165320 《信息安全系统设计基础》第八周学习总结
  5. ssh 两个mysql数据库_SSH下,关于多数据库的两个问题
  6. 锁住文件linux,关于Linux文件锁定保护命令chattr
  7. 招聘数据采集+数据清洗与分析+数据可视化
  8. win10重装系统后没有网卡驱动
  9. H3C华三旁挂防火墙
  10. 大学学python用记笔记吗_python笔记(1)-关于我们应不应该继续学习
  11. 微信公众平台:JustOracle(微信号:justoracle)现已开通,热忱欢迎你的加入
  12. 计算机慢的解决方法,几种电脑变慢的解决方法
  13. 腾讯AI开放平台使用尝试:账号开通/应用创建/能力开通
  14. .net 汉字转拼音 - 输入汉字获取其拼音
  15. postman接口关联
  16. keil编译代码Program Size详解
  17. 中国流动人口动态监测调查数据
  18. Python那些功能哟
  19. 重装android studio 始终提示SDK installed
  20. 转载一篇讲NAT类型比较好的科普文

热门文章

  1. 【ECharts系列|02可视化大屏】 舆情分析,人口分析及警情警力活动情况的实现【下篇】
  2. java dto entity,entity与DTO完全一致时
  3. hql中获取前一天的数据_PostgreSql 怎么获取数据库中关键系统信息(一)
  4. 将url参数字符串转成数组
  5. 手把手教你写一份优质的前端技术简历
  6. 贝塞尔曲线理解与应用
  7. css渲染(二) 文本
  8. 201571030316/201571030314 《小学四则运算练习软件需求说明》结对项目报告
  9. python 打造一个sql注入脚本 (一)
  10. 【BZOJ2073】[POI2004]PRZ 状压DP