首页 > 编程语言 >长度最小的子数组--Python解法

长度最小的子数组--Python解法

时间:2023-04-29 20:32:00浏览次数:27  
标签:target nums -- sums Python int 数组 ans 解法

给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。

def minSubArrayLen(self, s: int, nums: List[int]) -> int:
        if not nums:
            return 0
        
        n = len(nums)
        ans = n + 1
        sums = [0]
        for i in range(n):
            sums.append(sums[-1] + nums[i])
        
        for i in range(1, n + 1):
            target = s + sums[i - 1]
            bound = bisect.bisect_left(sums, target)
            if bound != len(sums):
                ans = min(ans, bound - (i - 1))
        
        return 0 if ans == n + 1 else ans

标签:target,nums,--,sums,Python,int,数组,ans,解法
From: https://blog.51cto.com/u_15944471/6236885

相关文章

  • 防火墙---serverMap
        ......
  • 使用docker快速安装minio
    1.拉取minio镜像dockerpullminio/minio2.docker容器构建和运行miniodockerrun-d--nameminio\--restart=always\-p9000:9000\-p9001:9001\-e"MINIO_ROOT_USER=minioroot"\-e"MINIO_ROOT_PASSWORD=minioroot"\-v/home/mi......
  • Kubernetes从入门到精通 集群安装准备工作
    一、准备环境 master01192.168.117.100docker,kubectl,kubeadm,kubeletnode01192.168.117.101docker,kubectl,kubeadm,kubeletnode02192.168.117.102docker,kubectl,kubeadm,kubelet二、环境初始化1检查操作系统的版本#此方式下安装kuber......
  • z_auto_align G34 probing failed 问题及解决
    目前状况bltouch正常调平检测正常z轴自动对齐,显示probingfailed 原因:刷入新固件后,没有在printer上恢复设置(restoresetting),导致的probeoffset错误 解决方案:多种情况都可能导致该错误,此处仅为其中一种,以作补充刷入固件后检查以下probe......
  • 题目集4-6总结
    一、前言本阶段的题目集最开始还是和前面的题目集有些相似的内容,但相较于前阶段的题目集主要是改进了代码所用到的知识点使代码更加简洁与所用内存更加小。这次题目集的难度还可以,并且是逐渐加大难度的,特别是题目集六一道题一百分。这次的题目集主要考察了正则表达式的应用,类与类......
  • 构建之法阅读笔记02
    《构建之法》是一本关于软件架构设计的经典著作,作者是美国软件工程师、架构师和教育家Christopher Alexander。这本书提出了一种全新的软件架构设计方法——模式语言法,通过模式语言法,可以帮助软件架构师和设计师更好地理解软件系统的结构和设计,提高软件的可维护性和可扩展性。本......
  • Python之路【第十九篇】:爬虫
    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 1.RequestsPython标准库中提供了:urllib、urllib2、httplib等模块......
  • Django笔记三十三之缓存操作
    本文首发于公众号:Hunter后端原文链接:Django笔记三十三之缓存操作这一节介绍一下如何在Django中使用redis做缓存操作。在Django中可以有很多种方式做缓存,比如数据库,比如服务器文件,或者内存,这里介绍用的比较多的使用redis作为缓存。这篇笔记主要内容如下:依赖安装se......
  • 赋值/浅拷贝/深度拷贝
     /*一:赋值二:浅拷贝二:深拷贝*/ 一:赋值#赋值if__name__=='__main__':dict1={'user':'Tom','num':[1,2,3]}#直接赋值:引用对象dict2=dict1print("dict1:0x%x"%id(dict1),dict2)#di......
  • 练习——管程法,信号灯法简单的实现生产者消费者模型
    packagecom.thread_;//管程法解决生产者消费者模型publicclassPC1{publicstaticvoidmain(String[]args){SynContainercontainer=newSynContainer();Productorproductor=newProductor(container);Consumerconsumer=newC......