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

[M双指针] lc209. 长度最小的子数组(双指针+好题)

文章目录

    • 1. 题目来源
    • 2. 题目解析

1. 题目来源

链接:209. 长度最小的子数组

题单:

    1. 滑动窗口(定长/不定长/多指针)
    • 不定长滑动窗口(求最长/最大)

2. 题目解析

思路:

  • 朴素双指针即可。
  • r 向右拓展时,判断 l 是否可以向右拓展,在满足题目要求的情况下获取到更短的子数组长度。

坑点:

  • 如果做了前几个题目的话,可能在计算答案的时候不会去写这个 if 判断。
  • 这样就会导致遇见第一个数,就将长度 1 取了 min 给到了 res,然后后续都不会再发生变化。
  • 但这个第一个数,可能根本都不够 targe,这就是个错误的答案计数。

所以,针对问题,还需要具体分析。


  • 时间复杂度 O ( 1 ) O(1) O(1)
  • 空间复杂度 O ( 1 ) O(1) O(1)

class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {int n = nums.size();int res = 1e9, cur = 0;for (int l = 0, r = 0; r < n; r ++ ) {cur += nums[r];while (l <= r && cur - nums[l] >= target) cur -= nums[l ++ ];// 这里需要注意下,它需要作为条件判断加上// 可能类似:3、713 都不需要将其作为判断条件。// 因为一开始的几个还没够,target,并且这里还取得是 min,就会导致数组长度很短,过不了用例...// 其他的要么是方案数、要么是最大,不受这个 min 的影响if (cur >= target) res = min(res, r - l + 1);  }return res == 1e9 ? 0 : res;}
};

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 开发一个免费的图表网站 Free Charts
  • 《机器学习》—— AUC评估指标
  • 多线程中常见问题
  • 《第二十四章 多线程与异步任务 - AsyncTask 异步任务》
  • Spring笔记(二)
  • qtsql连接达梦数据库
  • 【CANoe使用大全】——cdd导入CANoe流程详解
  • 使用PowerShell自动化Windows系统管理任务
  • JavaEE从入门到起飞(九) ~Activiti 工作流
  • 【前缀和算法】--- 一维和二维前缀和模板
  • Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
  • 实时洞察应用健康:使用Spring Boot集成Prometheus和Grafana
  • 极速文件预览!轻松部署 kkFileView 于 Docker 中!
  • OSPF 开放式最短路径优先协议
  • 数据结构-递归算法-第四天
  • php的引用
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Java应用性能调优
  • Netty源码解析1-Buffer
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • SpringBoot 实战 (三) | 配置文件详解
  • supervisor 永不挂掉的进程 安装以及使用
  • Vue UI框架库开发介绍
  • windows下如何用phpstorm同步测试服务器
  • 仿天猫超市收藏抛物线动画工具库
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 聊聊redis的数据结构的应用
  • 聊一聊前端的监控
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 通过git安装npm私有模块
  • 我感觉这是史上最牛的防sql注入方法类
  • 走向全栈之MongoDB的使用
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #职场发展#其他
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (42)STM32——LCD显示屏实验笔记
  • (C++20) consteval立即函数
  • (function(){})()的分步解析
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (函数)颠倒字符串顺序(C语言)
  • (三)终结任务
  • (十一)图像的罗伯特梯度锐化
  • (转) 深度模型优化性能 调参
  • ******IT公司面试题汇总+优秀技术博客汇总
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .Net CF下精确的计时器
  • .Net 基于.Net8开发的一个Asp.Net Core Webapi小型易用框架
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .Net接口调试与案例
  • .NET面试题(二)