商务网站建设广州建设工程交易中心网站

中汇通联科技有限公司 2026/09/09 20:28:09

题目:

给你一个字符串s。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。例如,字符串"ababcc"能够被分为["abab", "cc"],但类似["aba", "bcc"]["ab", "ab", "cc"]的划分是非法的。

注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是s

返回一个表示每个字符串片段的长度的列表。

解答:

1️⃣ 问题本质

题目要求把字符串划分成若干连续区间,使得:

每个字母只出现在其中一个区间内

并返回每个区间的长度。


2️⃣ 关键观察

如果某个字母在字符串中最右一次出现的位置pos
那么只要当前区间里包含了这个字母,这个区间最少要延伸到pos

➡️区间的右边界由区间内所有字符的“最后出现位置”的最大值决定


3️⃣ 预处理(核心准备)

先遍历一次字符串,记录:

  • 每个字母最后一次出现的下标

这样后续在遍历时,可以随时知道:

“当前字符最远会把区间拉到哪里”。


4️⃣ 贪心划分区间(核心思想)

从左到右遍历字符串:

  • 维护一个变量right
    表示当前区间必须到达的最右边界

  • 每遇到一个字符:

    • 更新right为当前right和该字符最后出现位置的最大值

  • 当遍历位置i == right时:

    • 说明当前区间内的所有字符都不会再出现在后面

    • 可以安全地切分一个区间

    • 记录区间长度

    • 从下一个位置开始新一段

这是一个一次扫描 + 局部最优即全局最优的贪心过程。

class Solution { public: vector<int> partitionLabels(string s) { int last[26]; vector<int> length; for (int i = 0; i < s.size(); i++) last[s[i] - 'a'] = i; int right = -1; int start = 0; for (int i = 0; i < s.size(); i++) { right = max(right, last[s[i] - 'a']); if (i == right) { length.push_back(i - start + 1); start = i + 1; } } return length; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

广州网站建设公司装饰网站建设

利用PyTorch-CUDA镜像开展高校AI教学实验课程在人工智能课程日益普及的今天,许多高校教师都面临一个尴尬的局面:一节90分钟的实验课,学生真正用来写代

2026/06/30 12:25:01

贵阳网站建设六安网站建设

目录Java线上一流课程教学辅助系统(Vue3版)摘要开发技术核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户

2026/06/30 14:07:08

房地产网站建设宿迁网站建设

开源记账系统MoneyNote:3步搭建你的个人财务管家【免费下载链接】moneynote-api开源免费的个人记账解决方案项目地址: https://gitcode.com/gh_mi

2026/06/30 12:38:02

广州网站建设晋江网站建设

在 C# / .NET 里,死锁的“四个必要条件”其实很好理解,把它们看成导致“互相卡住”的四块拼图——四块都存在时,才会真的卡死。只要你在设计里打碎其中一块

2026/06/30 13:41:07

四川网站建设甘肃省建设厅网站

Rust 1.92.0 于 2025年12月11日预发布,并在 12月14日正式发布。本次版本更新在语言特性、编译器、标准库、Cargo、Rustdoc 等多个方面都有重要改进与优化。以

2026/06/30 11:44:57

淮北网站建设佛山 网站建设

elasticsearch-head:在分布式日志系统中如何用好这个“老派”调试利器微服务架构早已不是新鲜词。当你的系统由几十个容器、上百个实例组成时,最怕的不是服务宕机—

2026/06/30 10:13:19

西安企业网站建设网站建设招标

技术趋势总览2024年技术发展聚焦人工智能、云计算、边缘计算、量子计算等领域的深度融合,跨学科创新成为关键驱动力。人工智能与机器学习生成式AI在代码自动生成、测试用例编写等场景加速落地&

2026/06/30 13:52:37

西安网站建设河南网站建设公司

如何真正解决 Safari 中100vh的“伪全屏”陷阱?一个前端老手的实战复盘你有没有遇到过这样的场景:在 iPhone 上打开一个 H5 登录页,设计稿明

2026/06/30 14:11:09

网站建设方案网站建设心得

LeagueAkari:英雄联盟玩家的终极智能游戏助手完全指南【免费下载链接】LeagueAkari✨兴趣使然的,功能全面的英雄联盟工具集。支持战绩查询、自动秒选等功能。基

2026/06/30 11:14:24

牡丹江网站建设网站建设的书

嘿,大家好!这里是一个专注于前沿AI和智能体的频道~上周是智谱的多模态开源周,从GLM 4.6v到Autoglm…看到官方的博客,第一眼比较吸引

2026/06/30 11:33:56