代码随想录——划分字母区间(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;
    }
}
相关推荐
Flynt6 小时前
我试了Spring Boot 4的原生镜像,聊聊那些数字和坑
java·spring boot
M-Robots echo13 小时前
轻量化裁剪方案解析:M-Robots 模块化构建,适配高低端各类机器人硬件平台
java·机器人·ros·开源社区·atomgit·m-robots
不可求~14 小时前
多模型路由怎么落地:把任务分流写进项目的最小实现
java·前端·数据库
数模竞赛Paid answer14 小时前
2026年中青杯数学建模A题数学建模论文智能评估系统与多智能体优化方法求解全过程论文及程序
算法·数学建模·中青杯
银-豆豆14 小时前
数据结构与算法-动态规划、回溯与贪心
算法·动态规划
JL1514 小时前
面试项目被问到自闭-如何把课设包装成亮眼项目
面试·职场和发展
mldong14 小时前
用 DDD 设计工作流引擎:聚合根与充血模型
java·架构
mqiqe15 小时前
AgentScope Java Harness:4. 双层记忆系统 让 Agent 拥有真正的“长期大脑“
java·开发语言
伍一5115 小时前
03-文件管理模块-一个看似简单的模块藏着多少细节
java·ruoyi·若依
想吃火锅100516 小时前
【leetcode】200. 岛屿数量
算法·leetcode·职场和发展