leecode100-划分区间-贪心算法

题目

解法

cpp 复制代码
class Solution:
    def partitionLabels(self, s: str) -> List[int]:
        #记录每个字母的最后出现的下标i
        last = {}
        for i,c in enumerate(str):
            last.append(c:i)
        ans = []
        start = end = 0
        for i, c in enumerate(s):
            end = max(end, last[c])#不断拉长当前区间的最后的位置
            if end == i:#如果扫描到了,说明当前区间所有字母的最后位置都被包含到了 则区间划分好了
                ans.append(end - start + 1)
                start = i+1
        return ans
        
相关推荐
土豆.exe9 分钟前
Fastjson2 2.0.53 哈希碰撞 RCE:从原理到三种打法
算法·哈希算法
黄河123长江23 分钟前
有限Abel群的结构()
算法
Jerry1 小时前
LeetCode 92. 反转链表 II
算法
骊城英雄1 小时前
Rust从入门到精通-trait
人工智能·算法·rust
可编程芯片开发2 小时前
基于PI控制算法的pwm直流电机控制系统Simulink建模与仿真
算法
怕浪猫2 小时前
2840亿参数只卖白菜价:DeepSeek V4 Flash 正式版上线,Agent 能力暴涨6倍
人工智能·算法
让学习成为一种生活方式2 小时前
苄基异喹啉生物碱糖基转移酶UGT74AN1晶体--Journal of Agricultural and Food Chemistry
人工智能·算法
alphaTao2 小时前
LeetCode 每日一题 2026/7/27-2026/8/2
python·算法·leetcode
2501_926978333 小时前
提示工程的实战报告(二):模型的失败模式与边界行为
人工智能·深度学习·算法
小小晓.3 小时前
C++记:函数
开发语言·c++·算法