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

力扣-贪心-763 划分字母区间

思路

先统计字符串中每一个字母出现的最后下标,然后从end初始化为第一个字母出现的最后下标,在i<=end时,不断更新end,因为一旦囊括新的字母就最起码要遍历到新字母出现的最后下标,在i>end时,说明遍历完成,再重新赋值end即可

代码

class Solution {
public:vector<int> partitionLabels(string s) {map<char, int> letterPos;for(int i = 0; i < s.size();i++){letterPos[s[i]] = i;}int end = letterPos[s[0]];vector<int> res;int length = 0;for (int i = 0; i < s.size(); i++) {if (i <= end) {length++;end = max(end, letterPos[s[i]]);} else {res.push_back(length);length = 1;end = letterPos[s[i]];}}res.push_back(length);return res;}
};

http://www.lryc.cn/news/542070.html

相关文章:

  • 【Redis 原理】网络模型
  • cpp中的继承
  • DeepSeek全栈接入指南:从零到生产环境的深度实践
  • CSS 真的会阻塞文档解析吗?
  • 大模型的UI自动化:Cline 使用Playwright MCP Server完成测试
  • 碰撞检测 | 图解凸多边形分离轴定理(附ROS C++可视化)
  • Python 基本数据类型
  • 突破“第一崇拜“:五维心理重构之路
  • KubeKey一键安装部署k8s集群和KubeSphere详细教程
  • UE5网络通信架构解析
  • 实验3 知识表示与推理
  • 基于Springboot银行信用卡额度管理系统【附源码】
  • 达梦数据库学习笔记@1
  • 图像处理篇---图像处理中常见参数
  • AI Agent实战:打造京东广告主的超级助手 | 京东零售技术实践
  • 50周学习go语言:第1周 环境搭建
  • 4. MySQL 逻辑架构说明
  • 《AI与NLP:开启元宇宙社交互动新纪元》
  • 面对STM32的庞大体系,如何避免迷失在细节中?
  • ragflow-RAPTOR到底是什么?请通俗的解释!
  • Linux系统移植之Uboot启动流程
  • 【Open X-Embodiment】简单数据下载与预处理
  • 【第四节】C++设计模式(创建型模式)-Builder(建造者)模式
  • 排查JVM的一些命令
  • uni-app(位置1)
  • 某手sig3-ios算法 Chomper黑盒调用
  • 登录-05.JWT令牌-介绍
  • Mac下Python版本管理,适用于pyenv不起作用的情况
  • Ubuntu 服务器Llama Factory 搭建DeepSeek-R1微调训练环境
  • 【redis】redis内存管理,过期策略与淘汰策略