温州网站建设汕头网站建设

河南饮纯水务投资有限公司 2026/09/09 17:35: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; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

株洲网站建设网站建设中图片

用一张图片点亮屏幕:手把手教你用 LCD Image Converter 实现嵌入式启动画面你有没有注意过,当你按下一台工业设备、智能家电或者医疗仪器的电源键时࿰

2026/06/30 10:13:19

西宁网站建设十堰网站建设

Riak性能调优完全指南:从入门到精通的实用技巧【免费下载链接】riakRiak is a decentralized datastore from Basho Technologies

2026/06/30 11:48:27

云南网站建设技术网站建设

Z-Image-Turbo多人物构图混乱问题解决方案问题背景与挑战在使用阿里通义Z-Image-Turbo WebUI进行AI图像生成时,用户普遍反馈一个典型问题:当提示词

2026/06/30 10:13:49

网站建设服务网站建设制作

5个实用策略:如何将wasm-bindgen项目体积缩减60%【免费下载链接】wasm-bindgenFacilitating high-level interactions betwe

2026/06/30 11:59:28

网站建设广告宜兴网站建设

QQScreenShot截图工具完整使用教程:从入门到精通【免费下载链接】QQScreenShot电脑QQ截图工具提取版,支持文字提取、图片识别、截长图、qq录屏。默认截图文件名为Scr

2026/06/30 14:19:40

免费网站建设网站建设模板

解决Win7系统Visual C++ 6.0兼容性难题的完整方案【免费下载链接】VisualC6.0Win7适用版下载Visual C++ 6.0 Win7 适用版下载

2026/06/30 13:50:37

营销网站建设邢台网站建设

随着大语言模型(LLM)的应用形态从简单的文本生成进化为复杂的多轮对话机器人、检索增强生成(RAG)系统以及自主智能体(Agent

2026/06/30 14:03:38

上海网站建设嘉兴网站建设

虚幻引擎AI集成革命:用OpenAI插件重塑游戏交互体验【免费下载链接】OpenAI-Api-UnrealIntegration for the OpenAI Api in Unreal

2026/06/30 10:31:20

网站建设策划书巴中网站建设

Mermaid CLI完整指南:轻松实现图表自动化生成【免费下载链接】mermaid-cliCommand line tool for the Mermaid library项目地址:

2026/06/30 10:54:52