35. 搜索插入位置

思路:二分查找

模板:

如果查找成功,返回target在nums中的下标

//二分查找模板
//nums[0..n-1]为有序数组,target为目标
int left=0;
int right=n-1;
while(left<=right)
{if(nums[mid]==target){return mid;}else  if(nums[mid]>target){right=mid-1;}else {left=mid+1;}
}

如果查找失败:

right<target<left,即   while 循环停止后,target在nums[right]和nums[left]之间

(_^可以手动模拟一下_)

代码:

查找失败时插入位置为right+1

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

leetcode 35. 搜索插入位置(二分法搜索失败的情况)相关推荐

  1. [Leetcode][第35题][JAVA][搜索插入位置][二分法]

    [问题描述][中等] [解答思路] 二分法 时间复杂度:O(LogN) 空间复杂度:O(1) public class Solution {public int searchInsert(int[] ...

  2. LeetCode题解:35.搜索插入位置

    搜索插入位置(easy) 更好的阅读体验应该是: 审题-思考 答题 整理-归纳 一.题目 LeetCode题目链接:35.搜索插入的位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引 ...

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

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

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

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

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

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

  6. LeetCode 题 - 35. 搜索插入位置

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

  7. 35搜索插入位置之Leecode—《数组篇》(二分法)

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

  8. LeetCode每日一题: 搜索插入位置(No.35)

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

  9. 二分法——leetcode35. 搜索插入位置

    二分法的第一种写法 在左闭右闭的区间寻找target: 不变的量是:[left,right]; #include<bits/stdc++.h> using namespace std; i ...

最新文章

  1. 微生物组——宏基因组分析专题培训开课啦!!!
  2. Swift中空合运算符、闭区间运算符、单侧区间、半开区间
  3. centos 5.6安装及配置JDK环境变量
  4. sqlldr,将数据批量导入Oracle数据库
  5. ML之SVM:利用SVM算法对手写数字图片识别数据集(PCA降维处理)进行预测并评估模型(两种算法)性能
  6. C语言const使用
  7. QML UI 与逻辑分开
  8. Qt Creator配置项目
  9. 湖南大学计算机学院张柏杨,缪力-湖大信息科学与工程学院
  10. nginx file not found 错误处理小记
  11. linux系统登陆问题,Linux之登陆问题
  12. STL--map用法
  13. 收藏 | Yann Lecun纽约大学《深度学习》2020课程笔记中文版
  14. Notepad++配置Python运行环境
  15. PyTorch 靠谱的模型可视化教程
  16. 阿姆达尔定律(Amdahl’s Law) 计算
  17. 各种矩阵压缩原理(书本上没有讲到的具体公式推理过程)
  18. 利用R语言的GWmodel进行GWR模型分析(内含错误解决方法)
  19. python yield from用法
  20. win10安装消息队列服务器,win10下celery搭建使用

热门文章

  1. struts2中处理get请求乱码
  2. IIS 7.5配置PHP更容易!
  3. sys.fn_dblog
  4. Bailian3251 最少费用【递归】
  5. Bailian2975 Caesar Cryptogram【密码】
  6. JSK-127 进制转换【进制】
  7. Bailian2748 全排列【全排列】(POJ NOI0202-1750)
  8. I00030 Grades conversion
  9. Python 波浪线与补码
  10. Python 数据结构与算法 —— list与deque(双端队列)