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

求满足target的最小窗口的长度,滑动窗口法,双指针

class Solution {
public:int minSubArrayLen(int s, vector<int>& nums) {// 初始化结果为正无穷int result = INT32_MAX;// 滑动窗口的和int sum = 0;// 滑动窗口的起始位置int i = 0;// 滑动窗口的长度int subLength = 0;// 遍历数组,j是滑动窗口的结束位置for (int j = 0; j < nums.size(); j++) {// 累加当前元素到窗口和sum += nums[j];// 当窗口和大于等于目标值时while (sum >= s) {// 计算当前窗口长度subLength = (j - i + 1);// 更新最小长度result = result < subLength ? result : subLength;// 移动窗口起始位置,并减去对应的值sum -= nums[i++];}}// 如果没有找到符合条件的子数组,返回0return result == INT32_MAX ? 0 : result;}
};

其中

sum -= nums[i++]:

  • 移动窗口左边界
  • 从sum中减去左边界元素的值
  • i++表示左边界向右移动一位

等价于:

     sum -= nums[i];  // 先使用i的值
     i = i + 1;       // 然后i加1

相关文章:

  • 【Ubuntu远程桌面】
  • NanoGPT的BenchMarking.py
  • 2021年江西工业互联网大赛———恶意app分析
  • VL 中间语言核心技术架构:构建全链路开发生态
  • 食材走T台?Coze+即梦应用实例:实现一键生成食材走秀视频!!(附提示词)
  • kafka学习笔记(三、消费者Consumer使用教程——使用实例及及核心流程源码讲解)
  • Docker 部署项目
  • 挡片/测试晶圆(Dummy Wafer)通俗解析
  • UI自动化测试的革新,新一代AI工具MidScene.js实测!
  • K8S集群主机网络端口不通问题排查
  • 滚珠导轨:电子制造“纳米级”精度的运动基石
  • SQLite 中文写入失败问题总结
  • SpringMVC核心原理与前后端数据交互机制详解
  • 如何做好一个决策:基于 Excel的决策树+敏感性分析应用
  • 如何做好一个决策:基于 Excel的决策树+敏感性分析应用(针对多个变量)
  • 罗马-华为
  • #Js篇:两个前端应用通过postMessage传递file对像
  • Vue3实现提示文字组件
  • Wirtinger Flow算法的matlab实现和python实现
  • Cesium 8 ,在 Cesium 上实现雷达动画和车辆动画效果,并控制显示和隐藏
  • 跨境自建站模板/制作网页代码大全
  • 网站维护一般怎么做/新媒体口碑营销案例
  • 什么软件可以找做网站的/网站站内关键词优化
  • 国外企业网站模板/爱站网反链查询
  • web新闻网站开发案例/合肥网站推广优化公司
  • 建设营销型网站的目的有哪些/网络广告策划的内容