| 搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums = [1,3,5,6], target = 5
输出: 2
示例 2:输入: nums = [1,3,5,6], target = 2
输出: 1
示例 3:输入: nums = [1,3,5,6], target = 7
输出: 4
示例 4:输入: nums = [1,3,5,6], target = 0
输出: 0
示例 5:输入: nums = [1], target = 0
输出: 0提示:1 <= nums.length <= 104
-104 <= nums[i] <= 104
nums 为无重复元素的升序排列数组
-104 <= target <= 104

题解

class Solution:def searchInsert(self, nums: List[int], target: int) -> int:length = len(nums)first = 0last = length - 1while last >= first:mid = first + (last - first) // 2if nums[mid] == target:return midelif nums[mid] > target:last = mid - 1else:first = mid + 1# 特殊情况处理return first if first < length else length

python 搜索插入位置相关推荐

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

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

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

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

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

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

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

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

  5. 【每日一算法】搜索插入位置

    微信改版,加星标不迷路! 每日一算法-搜索插入位置 作者:阿广 阅读目录 ? 题目 ? 解析 ? 完整代码 1 题目 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于 ...

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

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

  7. LeetCode-数组-35. 搜索插入位置

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

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

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

  9. 3、leetcode35 搜索插入位置**

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

最新文章

  1. 关于python中的dict和defaultdict
  2. windows上搭建python+gvim开发环境
  3. Web开发常规调试方法与常见问题分析
  4. 关于壳的构架的一些感悟
  5. Linux笔记16.磁盘管理
  6. IDEA项目搭建七——使用Feign简化消费者端操作
  7. 最小生成树实验报告c语言,最小生成树(C语言, prim算法)
  8. Spring批处理CSV处理
  9. 服务器可以装两个系统吗,云服务器可以装多个系统吗
  10. 中科院发布规范学术论著署名问题负面行为清单
  11. mySQL用alter使列为空_我可以配置MySQL,以便新添加的列默认允许空值吗?
  12. 计算图层面积(针对于面要素)ArcObject c++
  13. 沙盒技术——selinux控制
  14. 实用小技能 | 用 Word 和 Excel 自制一个题库自判断答题系统!
  15. 设计模式之软件设计原则
  16. 广州坐标系转换大地2000_就是这样操作!从地方坐标系到2000国家大地坐标系的转换...
  17. 如何让双十一数据大屏讲出故事?设计有口诀
  18. 9.4 多元复合函数求导
  19. Win系统 - Windows10 该内存不能为 read
  20. 数论基础,从入门到入门

热门文章

  1. 34. Leetcode 234. 回文链表 (链表-双指针)
  2. 交通预测论文笔记《Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting》
  3. Spring + JDBC + Struts联合开发(实现单表的CRUD)
  4. python循环输入字典_python - 使用'for'循环迭代字典
  5. Python入门100题 | 第048题
  6. pandas中的括号索引
  7. Android安卓开发-'Theme.AppCompat.Light'无法找到的解决方案
  8. 特征训练、预测一致性管理工具:开源项目Feast
  9. Linux服务器性能评估与优化--转
  10. 供应链金融3.0化解新车流通金融难题