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

东莞市光威实业有限公司 2026/09/09 20:04:21

题目:

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

网站建设步骤龙华网站建设

在人类的历史记忆中,真实感往往伴随着一种“粗糙的阻力”。老照片上的银盐颗粒、磁带里的底噪、清晨空气中那种无法描述的冷冽,这些不完美的、非线性的细节,构成了我们

2026/06/30 11:51:58

网站的建设南昌网站建设公司

工业网关开发第一步:手把手带你搞定 CubeMX 安装与配置你有没有遇到过这种情况——满怀激情地准备开始一个工业网关项目,结果刚打开电脑,还没写一行代码&#x

2026/06/30 12:35:32

网站建设免费建设一个网站

手把手打造高性能波形发生器:STM32 HAL库下的DAC+定时器+DMA协同实战你有没有遇到过这样的场景?想用单片机输出一个干净的正弦波,结

2026/06/30 10:27:50

网站建设与管理门户网站建设方案

Docker镜像源网易云配置方法简化GLM-4.6V-Flash-WEB部署在AI模型日益复杂、部署需求愈发频繁的今天,一个看似微不足道的网络问题,往往能卡住整个开发流程。

2026/06/30 13:00:34

深圳网站建设商务网站建设

继续后端设计与开发:魔盒项目是一个基于物联网技术的智能设备管理系统,后端采用 Go 语言和 Beego 框架开发,提供了完整的设备管理、用户认证、OTA 固件

2026/06/30 14:05:08

宁波外贸网站建设网页制作与网站建设

Proxmark3作为业界领先的RFID安全研究工具,为信息安全从业者提供了强大的射频信号分析和安全测试能力。本指南将从零开始,系统性地介绍Proxmark3的完整操作流程

2026/06/30 10:05:48

云南网站建设十堰网站建设

第一章:Open-AutoGLM使用体验环境搭建与快速启动Open-AutoGLM 是一个开源的自动化代码生成工具,基于 GLM 大模型构建,支持多种编程语言

2026/06/30 10:09:18

桂林网站建设富阳网站建设

深入探究Sendmail安全与配置1. Sendmail安全概述在当今数字化的时代,电子邮件系统的安全性至关重要。Sendmail作为一款常用的邮件传输代理(MTA),其安全问题不容忽视。Sendma

2026/06/30 12:56:33

建设网站湖南营销型网站建设

3个关键步骤实现SVG动画加载:Glide图片缓存技术深度解析【免费下载链接】glideAn image loading and caching library for Android

2026/06/30 10:15:49