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

滑动窗口leetcode 209和76

一、leetcode 209. 长度最小的子数组

代码:

class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {int n = nums.size();int left = 0;int sum = 0;int res = 100001;for(int right = 0;right <n;right++){sum += nums[right];while(sum >= target){res = min(res,right-left+1);sum -= nums[left];left++;}}if(res == 100001)res = 0;return res;}
};

二、leetcode76. 最小覆盖子串

代码:

class Solution {
public:string minWindow(string s, string t) {unordered_map<char,int> t_map;unordered_map<char,int> window_map;for(char ch:t){if(t_map.contains(ch)){t_map[ch]++;}else{t_map[ch] = 1;}window_map[ch] = 0;}int s_len = s.size();int left = 0;int ans_left = -1;int ans_len = INT_MAX;for(int right = 0; right <s_len;right++){if(!window_map.contains(s[right]))continue;window_map[s[right]]++;while(check(t_map,window_map) && left <= right){if(right -left+1 <ans_len){ans_len = right -left +1;ans_left = left;}if(t_map.contains(s[left]))window_map[s[left]]--;left++;}}if(ans_left == -1) return "";return s.substr(ans_left,ans_len);}bool check(unordered_map<char,int>& t_map,unordered_map<char,int>& window_map){for(auto p:t_map){if(window_map[p.first] < t_map[p.first])return false;}return true;}
};

class Solution {
public:string minWindow(string s, string t) {unordered_map<char,int> t_map;unordered_map<char,int> window_map;for(char ch:t){if(t_map.contains(ch))t_map[ch]++;elset_map[ch] = 1;}int s_len = s.size();int left = 0;int window_valid_char_cnt = 0;string ans;for(int right = 0; right <s_len;right++){if(++window_map[s[right]] <= t_map[s[right]])window_valid_char_cnt++;while(window_map[s[left]] > t_map[s[left]]){window_map[s[left]]--;left++;}if(window_valid_char_cnt == t.size()){if(ans.empty() || ans.size() > right-left+1)ans = s.substr(left,right-left+1);}}return ans;}
};
http://www.xdnf.cn/news/251713.html

相关文章:

  • rabbitMQ如何确保消息不会丢失
  • [学成在线]22-自动部署项目
  • 【Git】万字详解 Git 的原理与使用(上)
  • 精益数据分析(37/126):深度剖析SaaS模式下的参与度与流失率指标
  • STM32——GPIO
  • AI 生成内容的版权困境:法律、技术与伦理的三重挑战
  • patch命令在代码管理中的应用
  • C++负载均衡远程调用学习之UDP SERVER功能
  • react + antd 实现后台管理系统
  • TS 常用类型
  • C++-Lambda表达式
  • MySQL 窗口函数
  • 使用conda安装Python库包报错:module ‘libmambapy‘ has no attribute ‘QueryFormat‘
  • SpringBoot实现条件分页
  • ROPE(旋转位置编码)简述
  • 数据库性能杀手与调优实践
  • 第十六届蓝桥杯单片机组省赛(第一套)
  • 解决 3D Gaussian Splatting 中 SIBR 可视化组件报错 uv_mesh.vert 缺失问题【2025最新版!】
  • 基于深度学习的毒蘑菇检测
  • 大学生入学审核系统设计与实现【基于SpringBoot + Vue 前后端分离技术】
  • 精益数据分析(38/126):SaaS模式的流失率计算优化与定价策略案例
  • ubuntu22.04安装显卡驱动与cuda+cuDNN
  • IntelliJ IDEA 使用教程
  • Linux:信号(一)
  • 八闽十三张模块部署测试记录:源码结构拆解与本地运行验证(含常见问题与修复指南)
  • c/c++开发调试工具之gdb
  • 每天学一个 Linux 命令(34):wc
  • DeepSeek R1:强化学习范式的推理强化模型
  • 华为OD机试真题 Java 实现【水库蓄水问题】
  • 【Linux深入浅出】之全连接队列及抓包介绍