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

第12天(中等题 越长越合法滑动窗口)

打卡第十二天
2道中等题

image

不定长滑动窗口: 越长越合法
一般要写 ans += left。

内层循环结束后,[left,right] 这个子数组是不满足题目要求的,但在退出循环之前的最后一轮循环,[left−1,right] 是满足题目要求的。由于子数组越长,越能满足题目要求,所以除了 [left−1,right],还有 [left−2,right], [left−3,right], …, [0,right] 都是满足要求的。也就是说,当右端点固定在 right 时,左端点在 0, 1, 2, …, left−1 的所有子数组都是满足要求的,一共有 left 个。

例题

给你一个字符串 s ,它只包含三种字符 a,b和c。请你返回a,b和c都至少出现过一次的子字符串数目。

class Solution {
public:int numberOfSubstrings(string s) {int left = 0,ans = 0,cnt[3]{};for(char c: s){cnt[c - 'a']++;while(cnt[0] && cnt[1] && cnt[2]){cnt[s[left] - 'a']--;left++;}ans += left;}        return ans;}
};

获取数组nums中最大值m:

// C++20 新写法
int m = ranges::max(nums);// 传统写法1
int m = *max_element(nums.begin(), nums.end());// 传统写法2  
int m = 0;
for(int num : nums) {m = max(m, num);
}

耗时≈半小时 明天继续

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

相关文章:

  • 正式发布!2025年11月广州心理咨询机构哪家专业?
  • 大模型开发 - 02 Spring AI Concepts - 详解
  • Zookeeper环境搭建
  • 2025 年 11 月降膜蒸发器,结晶蒸发器,真空浓缩器厂家最新推荐,聚焦资质、案例、售后的五家机构深度解读
  • 十月第四周组会报告ppt--CBANet面向学习中心和边界感知的3D牙齿分割实例表示(Computersgraphics) 2025.8
  • 2025 年 11 月废水蒸发器,多效蒸发器,低温蒸发器厂家最新推荐,产能、专利、环保三维数据透视
  • Java方法——可变参数
  • 2025 年 11 月曝气器厂家最新推荐,专业制造与品牌保障口碑之选
  • sigmoid函数求导
  • [20251028]SQLPlus的行编辑器.txt
  • 【深基7.例4】歌唱比赛
  • 美团多智能体WOWService智能系统概要
  • Python 潮流周刊#125:个人 AI 笔记本工具
  • Java方法——方法的重载、命令行传参
  • 2025 年 11 月石灰料仓厂家最新推荐,聚焦资质、案例、售后的五家机构深度解读
  • 2025 年 11 月石灰料仓厂家最新推荐,技术实力与市场口碑深度解析
  • Ubuntu 22.04 LTS 安装 gitlab
  • SecureCRT 9.6.4 中文便携+绿色版 - 终端工具
  • Day28-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\IPDemo\BSDemo+TCP
  • Linux桌面折腾小记
  • CSP-S邮寄
  • 关于使用Prism的View和ViewModel不能关联问题
  • Elasticsearch命令执行增删改查
  • [记于2025.7.20]
  • 显卡太强也是一种罪过
  • 软件工程团队项目一
  • 当理想触碰现实:关于“干预”与我的退缩
  • Air8000-LuatOS exvib扩展库全流程操作手册:实战经验全分享
  • 常见Linux命令大全
  • CLIP模型诞生