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

第11天(中等题 滑动窗口)

打卡第十一天
1道简单题+2道中等题

image

越短越合法型滑动窗口:

实例

image

  • 由于子数组越长,乘积越大,越不能满足题目要求;反之,子数组越短,乘积越小,越能满足题目要求。有这种性质的题目,可以用滑动窗口解决。

  • 内层循环结束后,[left,right] 这个子数组是满足题目要求的。由于子数组越短,越能满足题目要求,所以除了 [left,right],还有 [left+1,right],[left+2,right],…,[right,right] 都是满足要求的。也就是说,当右端点固定在 right 时,左端点在 left,left+1,left+2,…,right 的所有子数组都是满足要求的,这一共有 right−left+1 个,加到答案中: ans += right - left + 1;

代码:

class Solution {
public:int numSubarrayProductLessThanK(vector<int>& nums, int k) {int n = nums.size();int left = 0,ans = 0,sum = 1;if(k <= 1){//所有数都是正整数,乘积不可能<1或0return 0;}for(int right = 0;right < n;right++){sum *= nums[right];while(sum >= k){sum /= nums[left];left++;}ans += right - left +1;//从left到right的所有子数组都满足条件,累加}return ans;}
};

耗时≈一小时 明天继续

http://www.jsqmd.com/news/27923/

相关文章:

  • 麒麟 V10系统中离线安装python的setuptools和pip,并使用python代码查询达梦数据库,并上传文件到minio
  • 如何选择陶瓷放电管
  • 10.31每日总结
  • 对称密钥算法 非对称密钥算法 Hash函数 公钥和私钥在网络安全中的应用流程超超超详细,清楚,简单!!!
  • 读《代码大全2》读后感3
  • revit api楼梯创建
  • 《代码大全2》初读有感
  • 代码大全2{2}
  • revit api 几何图元连接
  • 读《代码大全2》读后感2
  • 公众号排版工具实测报告:为什么有一云AI编辑器成为全能高效的“排版专家”?
  • 代码大全2{1}
  • Shooting Battle:Linux系统下的网络编程究极产物
  • revit api隔离图元
  • revit api明细表
  • 【开题答辩实录分享】以《基于python的奶茶店分布数据分析与可视化》为例进行答辩实录分享 - 教程
  • 2025.10.31
  • 使用RNNoise进行音频降噪
  • 程序员修炼之道:从小工到专家读后感(2025_10_31)
  • Python测试(下) _ 高效率把bug揪出来
  • 如何精准驱动菜品识别模型--基于米尔瑞芯微RK3576边缘计算盒
  • 征程 6 | 多任务 不同帧率 部署方案
  • 10月31号
  • 10月29号
  • ️ 深度解析我的 Overleaf 私有化部署:一份稳定、高兼容性的 `docker-compose.yaml`
  • 支配点对小记
  • 2025赣南脐橙最新推荐品牌榜,源头赣南脐橙果园品牌综合评测!
  • Manacher 代码贴贴
  • Python测试(上)_ 不存在不写bug的程序员
  • P9119 [春季测试 2023] 圣诞树