LeetCode | 35.搜索插入位置

这套题可以直接遍历,找到第一个大于target的数并返回其位置即可,但是时间复杂度为 O ( n 2 ) O(n^2) O(n2),题目中明确要求时间复杂度为 O ( l o g n ) O(logn) O(logn),考虑二分查找算法,这道题就是标准的二分查找的一个思路,直接套模板即可,注意边界条件的考虑,如果找到了和target一样大的数,则返回其索引即可,因为它的位置就是我们要插入的位置,当left>right的时候,left所在的位置也是我们应该插入的位置

python 复制代码
class Solution(object):
    def searchInsert(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: int
        """
        left = 0
        right = len(nums)-1
        while left <= right:
            mid = (left+right)/2
            if nums[mid] == target:
                return mid
            elif nums[mid] < target:
                left = mid+1
            else:
                right = mid-1
        return left
相关推荐
珠海西格电力13 分钟前
零碳园区的竞争力体现在哪些方面?
大数据·人工智能·算法·架构·能源
孬甭_30 分钟前
从基础到优化:深入理解插入排序与希尔排序
数据结构·算法·排序算法
好家伙VCC32 分钟前
Rust+Bioinfo:80ms极速SNP注释引擎
java·开发语言·算法·rust
啦哈拉哈33 分钟前
【Python】知识点零碎学习7
python·学习·算法
宝贝儿好35 分钟前
【NLP】第八章:项目实操案例:文本情感分析
人工智能·python·深度学习·算法·自然语言处理
如竟没有火炬44 分钟前
恢复二叉搜索树
数据结构·数据库·python·leetcode·动态规划
如竟没有火炬1 小时前
整数拆分——动态规划
开发语言·数据结构·python·算法·leetcode·动态规划
叫我:松哥1 小时前
基于数据挖掘的旅游景点个性化推荐系统设计与实现,Apriori和FP-Growth算法挖掘景点之间的关联规则
人工智能·python·算法·数据挖掘·数据分析·beautifulsoup
KaMeidebaby1 小时前
卡梅德生物技术快报|噬菌体筛选:技术实操:宽谱大肠杆菌噬菌体筛选全流程与性能验证方案
前端·人工智能·算法·数据挖掘·数据分析
Hillain1 小时前
软件设计师设计模式
java·开发语言·经验分享·笔记·算法·设计模式·软考