力扣 划分字母区间

news/2025/3/1 11:35:54/

贪心算法,存状态,合并区间。

题目

同一字母最多出现在一个片段中,因此要找到相同字母的上界跟下界。由于是对字符串进行划分,在一个片段内,从前往后遍历,找到每个字母的最后一个下标即是可能的划分点了,同时这也是这道题贪心中所要维护的状态值。找到所有字母的最大下标后,就可以对字符串的字符再次进行比较,每次更新状态值,如果索引比状态值小,说明当前遍历过的字符还没有找完,当找到时,即可以进行划分了。划分后的区间计数后加入数组,接着移动指针到下一个数开始下一个区间的划分。

时间复杂度: O(n),空间复杂度: O(∣Σ∣),其中 Σ 是字符串中的字符集。 

java">class Solution {public List<Integer> partitionLabels(String S) {char[] s = S.toCharArray();int n = s.length;int[] last = new int[26];for (int i = 0; i < n; i++) {last[s[i] - 'a'] = i; // 每个字母最后出现的下标}List<Integer> ans = new ArrayList<>();int start = 0, end = 0;for (int i = 0; i < n; i++) {end = Math.max(end, last[s[i] - 'a']); if (end == i) { ans.add(end - start + 1); start = i + 1; }}return ans;}
}


http://www.ppmy.cn/news/1575757.html

相关文章

Openharmony4.1版 SystemUI编译笔记

参考文献&#xff1a; 如何在OpenH​​​​​​rmony 4.1R上设置系统默认不锁屏(修改系统锁屏应用)_离北况归-Laval社区 环境配置 参考离北况归的文章&#xff0c;openharmony4.1r版本的系统应用需要使用4.1版本的DevecoStudio工具进行编译&#xff0c;高版本开发工具会编译…

【 实战案例篇三】【某金融信息系统项目管理案例分析】

大家好,今天咱们来聊聊金融行业的信息系统项目管理。这个话题听起来可能有点专业,但别担心,我会尽量用大白话给大家讲清楚。金融行业的信息系统项目管理,说白了就是如何高效地管理那些复杂的IT项目,确保它们按时、按预算、按质量完成。咱们今天不仅会聊到一些理论,还会通…

今日行情明日机会——20250227

明日短线投资方向分析 根据最新盘面数据&#xff0c;以下板块及个股具备短线机会&#xff0c;需结合开盘竞价与资金流向灵活应对&#xff1a; 1. 算力&#xff08;核心主线&#xff09; 核心逻辑&#xff1a;大位科技&#xff08;五板&#xff09;打开市场高度&#xff0c;广…

关于Latex的一些bug

1. tlmgr安装包时出现(not verified: gpg unavailable) 管理员身份下运行cmd&#xff1a; tlmgr --repository http://www.preining.info/tlgpg/ install tlgpg 再进行安装&#xff0c;就会显示软件源是否通过验证&#xff0c;如&#xff1a; sudo tlmgr install ctex显示如…

【STM32】玩转IIC之驱动MPU6050及姿态解算

目录 前言 一.MPU6050模块介绍 1.1MPU6050简介 1.2 MPU6050的引脚定义 1.3MPU6050寄存器解析 二.MPU6050驱动开发 2.1 配置寄存器 2.2对MPU6050寄存器进行读写 2.2.1 写入寄存器 2.2.2读取寄存器 2.3 初始化MPU6050 2.3.1 设置工作模式 2.3.2 配置采样率 2.3.3 启…

理解 Rust 中的共享状态并发

一、共享状态并发&#xff1a;它是什么&#xff1f; 共享状态并发指的是多个线程可以访问和修改相同的内存位置。这种模式允许程序的不同部分处理相同的数据&#xff0c;但需要机制来确保任何时候只有一个线程可以访问数据。在没有强类型系统或并发支持的语言中&#xff0c;这…

【考试大纲】高级网络规划设计师考试大纲

目录 引言一、考试说明1.考试目标2.考试要求二、考试范围:考试科目1:网络规划与设计综合知识考试科目2:网络规划与设计案例分析考试科目3:网络规划与设计论文引言 最新的网络规划师考试大纲出版于 2021 年 12 月,本考试大纲基于此版本整理。 一、考试说明 1.考试目标 …

Solar2月应急响应公益月赛

暗链排查-1 burp 抓包&#xff0c;找到 js&#xff0c;cyberchef 一把梭&#xff0c;纯黑盒 暗链排查-2 roottianshou-0e3d41087e0b47e587d7b244849b893b-7769f979cf-szxvl:~# gcore -o nginx_core 11 [Thread debugging using libthread_db enabled] Using host libthread_db…