当前位置: 首页 > news >正文

【LeetCode】【209】长度最小的子数组(1488字)

文章目录

    • @[toc]
      • 题目描述
      • 样例输入输出与解释
        • 样例1
        • 样例2
        • 样例3
      • 提示
      • 进阶
      • Python实现
        • 前缀和+二分查找
        • 滑动窗口

因上努力

个人主页:丷从心·

系列专栏:LeetCode

刷题指南:LeetCode刷题指南

果上随缘


题目描述

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

样例输入输出与解释

样例1
  • 输入:target = 7nums = [2,3,1,2,4,3]
  • 输出:2
  • 解释:子数组[4,3]是该条件下的长度最小的子数组
样例2
  • 输入:target = 4nums = [1,4,4]
  • 输出:1
样例3
  • 输入:target = 11nums = [1,1,1,1,1,1,1,1]
  • 输出:0

提示

  • 1 <= target <= 10^9
  • 1 <= nums.length <= 10^5
  • 1 <= nums[i] <= 10^5

进阶

  • 如果已经实现O(n)时间复杂度的解法,尝试设计一个O(nlog(n))时间复杂度的解法

Python实现

前缀和+二分查找
class Solution:def minSubArrayLen(self, s: int, nums: List[int]) -> int:n = len(nums)res = n + 1sums = [0]for i in range(n):sums.append(sums[-1] + nums[i])for i in range(1, n + 1):target = sums[i - 1] + sbound = bisect.bisect_left(sums, target)if bound != len(sums):res = min(res, bound - (i - 1))return res if res != n + 1 else 0
滑动窗口
class Solution:def minSubArrayLen(self, target: int, nums: List[int]) -> int:n = len(nums)res, sum = n + 1, 0start, end = 0, 0while end < n:sum += nums[end]while sum >= target:res = min(res, end - start + 1)sum -= nums[start]start += 1end += 1return res if res != n + 1 else 0

http://www.lryc.cn/news/354000.html

相关文章:

  • 1738. 找出第 K 大的异或坐标值
  • Fortran: stdlib标准库
  • CSS3优秀动画代码示例
  • 嵌入式0基础开始学习 ⅠC语言(4)循环结构
  • 【JAVASE】抽象类
  • 嵌入式硬件中PCB走线与过孔的电流承载能力分析
  • 动态规划之背包问题中如何确定遍历顺序的问题-组合or排列?
  • 开源大模型与闭源大模型
  • python+selenium - UI自动框架之封装查找元素
  • java 拦截器-用户无操作超时退出利用Redis
  • 民国漫画杂志《时代漫画》第16期.PDF
  • 线程池以及日志类的实现
  • 基于长短期记忆网络 LSTM 的送餐时间预测
  • K-means聚类算法详细介绍
  • SAP FS00如何导出会计总账科目表
  • ROS参数服务器
  • QCC---DFU升级变更设备名和地址
  • [力扣题解] 695. 岛屿的最大面积
  • AI模型发展路径探析:开源与闭源,何者更胜一筹?
  • concurrency 并行编程
  • JavaScript如何让一个按钮的点击事件在完成之前禁用
  • 透视App投放效果,Xinstall助力精准分析,让每一分投入都物超所值!
  • 【Linux杂货铺】进程通信
  • 常用API(正则表达式、爬取、捕获分组和非捕获分组 )
  • JVM学习-Class文件结构②
  • 数据库连接项目
  • MySQL--InnoDB体系结构
  • ffplay 使用文档介绍
  • 四种网络IO模型
  • Mixed-precision计算原理(FP32+FP16)