LeetCode35.搜索插入位置
35.搜索插入位置
描述
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例
示例 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
思路
对于不存在的情况, 我们只需要在数组里面找到最小的一个值大于 value 的 index , 这个 index 就是我们可以插入的位置。 譬如 [1, 3, 5, 6] , 查找 2 , 我们知道 3 是最小的一个大于 2 的数值, 而 3 的 index 为 1 , 所以我们需要在 1 这个位置插入 2 。 如果数组里面没有值大于 value , 则插入到数组末尾。
class Solution:def searchInsert(self, nums, target):""":type nums: List[int]:type target: int:rtype: int"""low = 0high = len(nums) - 1while low <= high:mid = low + (high - low) // 2if nums[mid] == target:return midelif nums[mid] < target:low = mid + 1else:high = mid - 1return low
GitHub地址:https://github.com/protea-ban/LeetCode
转载于:https://www.cnblogs.com/banshaohuan/p/9771007.html
LeetCode35.搜索插入位置相关推荐
- 3、leetcode35 搜索插入位置**
leetcode 35 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 请必须使用时间复杂度为 O(log n) ...
- 二分法——leetcode35. 搜索插入位置
二分法的第一种写法 在左闭右闭的区间寻找target: 不变的量是:[left,right]; #include<bits/stdc++.h> using namespace std; i ...
- LeetCode--35. 搜索插入位置(遍历,二分法)
搜索插入位置(C) 1. 题目描述 2. 题目分析 3. C语言实现 3.1 遍历法 3.2 二分法 1. 题目描述 难度:简单 2. 题目分析 这道题目比较简单,比较容易想到的就是遍历法,其实更快的 ...
- #力扣 LeetCode35. 搜索插入位置 #在所有 Java 提交中击败了 100.00% 的用户 @FDDLC
题目描述: 35. 搜索插入位置 - 力扣(LeetCode) (leetcode-cn.com) Java代码: class Solution { //已有序:在数组中找到目标值,并返回其索引:如果 ...
- LeetCode-35 搜索插入位置
题目描述: 思路想法: 无疑是利用二分查找了,但是,当一个不存在数组中的元素,应该如何确定它在数组中的位置呢? 二分法在跳出循环时,说明这个元素没有在数组当中,但是,在跳出来之前,left和right ...
- LeetCode35.搜索插入位置 JavaScript
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5 输 ...
- 数组|leetcode35.搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5 输 ...
- leetcode35. 搜索插入位置(二分搜索)
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5 输 ...
- LeetCode35. 搜索插入位置(二分查找)
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 思路 详见链接 代码 class So ...
最新文章
- 一套就够了!室内+室外激光SLAM关键算法讲解与工程实现(源码和数据开源)...
- Unity应用架构设计(7)——IoC工厂理念先行
- 框架:mybatis的缓存机制
- Spring Ioc 源码分析(一)--Spring Ioc容器的加载
- html tab选项卡 控件,tab选项卡插件
- mybatis 忽略实体字段_27道mybatis面试真题,你能答对几道?
- 如何在一个站点里使用两个Web.sitemap 或是多个Web.sitemap?
- 高考带给了我们什么..........
- Qt文档阅读笔记-void QObject::deleteLater()解析
- kubernetes与web集群
- python 枚举类型_Python枚举类
- 发现身边90%的朋友都是负债累累,是什么情况?
- python爬图片_Python爬虫:彼岸图网图片爬取-Go语言中文社区
- CSS背景图像的简单响应
- 如何搭建maven中,分布式工程
- 命令行下对apk签名
- 2011年Esri用户大会技术亮点总结之一:概览
- excel 删除大量空白行
- 各国程序员薪资水平,看完我想静静。。。
- Excel合并两列中的文本内容
热门文章
- maven学习笔记之IDEA+Maven+Jetty运行一个简单的web项目
- 比特币详解3.0 ——区块链的救赎
- 区块链世界中的IOTA:它是什么样的存在?
- 【问链财经-区块链基础知识系列】 第二十七课 区块链与分布式账本的异同
- python字典中append_零基础入手!Python中字典与集合的使用指南
- python的序列化是什么意思_python什么是反序列化?
- wincc报表日报表实例_工作系统二次开发二Python加工原膜切割日报表数据实例
- 创建一个storageevent事件_事件循环:微任务和宏任务
- CODEVS-1074-食物链-并查集
- Visual Tracking:运行ECO模型的GPU版本