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

【c++】leetcode763 划分字母区间

1.题目

题目分析:

①同一个字符只能出现在一个片段中

②划分成尽可能多的片段

2.code

思路:

①先把所有出现过的字符个数进行统计

②通过滑窗与快慢指针以及一个valid==windows.size()说明目前为止(fast)出现过的字符都已经全部出现过了,即不在其他的片段中

class Solution {
public:vector<int> partitionLabels(string s) {unordered_map<char, int> t, window;std::vector<int> res{};int slow = 0, fast = 0, valid = 0;for (auto i = 0; i < s.length(); i++){if (t.count(s[i]) == 0) t[s[i]] = 0;t[s[i]]++;}while (fast < s.length()){if (t.count(s[fast])){window[s[fast]]++;if (window[s[fast]] == t[s[fast]]) valid++;}if (valid == window.size()){if (fast - slow < s.length()){res.push_back(fast - slow + 1);slow = fast + 1;}}fast++;}return res;}
};

截止到2025.7.30日,所有的case可以AC。

http://www.dtcms.com/a/306159.html

相关文章:

  • Ganttable 时间仪表盘
  • java~单例设计模式
  • 小架构step系列30:多个校验注解
  • 「Linux命令基础」压缩文件
  • ica1靶机攻略
  • iOS电池寿命与App能耗监测实战 构建完整性能监控系统
  • MSVC编译KDChart过程
  • IFCVF驱动+vhost-vfio提高虚拟机网络性能
  • BWCTAKC11X64G佰维/BIWIN存储容量为64GB
  • Java内存模型(JMM)
  • 制作一款打飞机游戏84:游戏视觉优化
  • 创建型设计模式-单例模式
  • Django模型关系:从一对多到多对多全解析
  • JSON.parse解析大整数踩坑
  • 9.项目起步(3)
  • ETCD学习之路
  • 代码随想录算法训练营第三十六天
  • 微软 Power Platform 使用Power Automate自动添加用户到AD域环境并分配环境角色
  • 「源力觉醒 创作者计划」_文心大模型 4.5 开源 28 天:从车间轴承到山村课堂的 AI 突围
  • 硬件电路设计(基本元器件)
  • 微信小程序苹果手机和安卓,怎么做适配
  • 链游与传统游戏的区别
  • 2025年自动化工程与计算机网络国际会议(ICAECN 2025)
  • TypeScript:前端语言,后端哲学
  • 桶排序-Java实现
  • 关于Docker【常见问题解决方案】
  • 数学建模——01规划/整数规划
  • sql developer 中文显示问号 中文显示乱码 错误消息显示问号
  • Shopify Draggable + Vue 3 完整指南:打造现代化拖拽交互体验
  • 小程序端基于 AI 的语音交互功能深度开发