代码随想录——划分字母区间(Leetcode763)

题目链接

贪心

java 复制代码
class Solution {
    public List<Integer> partitionLabels(String s) {
        int[] count = new int[27];
        Arrays.fill(count,0);
        // 统计元素最后一次出现的位置
        for(int i = 0; i < s.length(); i++){
            count[s.charAt(i) - 'a'] = i;
        }
        List<Integer> res = new ArrayList<Integer>();
        int left = 0;
        int right = 0;
        for(int i = 0; i < s.length(); i++){
            // 找到字符出现的最远边界
            right = Math.max(right, count[s.charAt(i) - 'a']);
            if(i == right){
                // 将符合条件的字符串长度插入res
                res.add(right - left + 1);
                left = i + 1;
            }
        }
        return res;
    }
}
相关推荐
且去填词6 分钟前
深入理解 GMP 模型:Go 高并发的基石
开发语言·后端·学习·算法·面试·golang·go
醇氧14 分钟前
SqlLogInterceptor mybatis配置打印SQL
java·sql·mybatis
Elcker15 分钟前
JAVA-Web 项目研发中如何保持团队研发风格的统一
java·前端·javascript
Hcoco_me20 分钟前
大模型面试题76:强化学习中on-policy和off-policy的区别是什么?
人工智能·深度学习·算法·transformer·vllm
企业对冲系统官24 分钟前
大宗商品风险对冲系统统计分析功能的技术实现
运维·python·算法·区块链·github·pygame
ValhallaCoder24 分钟前
Day48-单调栈
数据结构·python·算法·单调栈
a程序小傲28 分钟前
京东Java面试被问:多活数据中心的流量调度和数据同步
java·开发语言·面试·职场和发展·golang·边缘计算
Sylvia-girl33 分钟前
数组题目之移除元素
算法
三金1213838 分钟前
Java定时任务Schedule详解及Cron表达式实践
java·开发语言
foundbug99943 分钟前
小波分析与粒子群算法结合用于电网潮流优化
算法