代码随想录——划分字母区间(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;
    }
}
相关推荐
不要打扰7565 小时前
《房地产经纪操作实务》重点和难点是什么?用哪个题库好
经验分享·职场和发展
源码宝5 小时前
云HIS系统源码,HIS全套源码,支持监管系统对接与二次开发
java·源码·电子病历·云his系统·程序代码·全套源码
萧瑟余晖5 小时前
Spring MVC拦截器异常处理与跨域详解
java·spring·mvc
泡茶喝茶写代码5 小时前
A股量化数据工程:从 REST 接口到策略信号(第 17 篇):创新高与新低扫描
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
All for pursuit.5 小时前
【动态规划-6】96.不同的二叉搜索树
数据结构·c++·算法·leetcode·动态规划
栗子~~5 小时前
java - logstash-logback-encoder 集成 demo
java·开发语言·logback
rou5 小时前
Attention(注意力机制)
算法
hmb↑5 小时前
高并发与高可用技术经验
java·spring
信奥卷王5 小时前
[GESP202609 六级] 数组划分
数据结构·算法
楚识科技5 小时前
XML配置OCR接入实战:自定义OCR模板从字段定义到API调用全流程
xml·java·ocr