Python | Leetcode Python题解之第316题去除重复字母

题目:

题解:

python 复制代码
class Solution:
    def removeDuplicateLetters(self, s: str) -> str:
        vis = defaultdict(int)
        cnt = defaultdict(int)
        for ch in s: cnt[ch] += 1
        queue = []
        for ch in s:
            if vis[ch] == 0:
                while queue and queue[-1] > ch and cnt[queue[-1]]:
                    vis[queue.pop()] = 0
                if not queue or queue != ch: queue.append(ch)
                vis[ch] = 1
            cnt[ch] -= 1
        return "".join(queue)
相关推荐
郝学胜-神的一滴6 分钟前
系统设计:新鲜事系统扩展与优化
java·python·职场和发展·php·软件工程·软件构建
思绪无限6 分钟前
YOLOv5至YOLOv12升级:零售柜商品检测软件的设计与实现(完整代码+界面+数据集项目)
人工智能·python·深度学习·目标检测·计算机视觉·零售柜商品检测·yolov12
zl_dfq8 分钟前
Python学习6 之 【Lambda表达式、列表与元组、推导式】
python
kishu_iOS&AI12 分钟前
深度学习 —— 正则化&批量归一化BN
人工智能·pytorch·python·深度学习
承渊政道17 分钟前
【递归、搜索与回溯算法】(掌握记忆化搜索的核心套路)
数据结构·c++·算法·leetcode·macos·动态规划·宽度优先
天天进步201518 分钟前
Python全栈项目实战:自建高效多媒体处理工具
开发语言·python
穿条秋裤到处跑22 分钟前
每日一道leetcode(2026.04.23):等值距离和
算法·leetcode·职场和发展
waterHBO23 分钟前
python + fast-wahisper 读取麦克风,实现语音转录,而且是实时转录。
开发语言·python
reasonsummer25 分钟前
【教学类-160-09】20260417 AI视频培训-练习010“豆包AI视频《熊猫找朋友》+豆包图片风格:水墨画”
python·音视频·豆包视频
少许极端26 分钟前
算法奇妙屋(四十九)-贡献法
java·算法·leetcode·贡献法