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)
相关推荐
江畔柳前堤几秒前
XZ09_Word和MD格式转换
开发语言·数据库·人工智能·python·深度学习·word
星河漫步Lu3 分钟前
Anaconda搭建深度学习虚拟环境
开发语言·python·深度学习
张一西4 分钟前
2026 新春快乐破解活动五之windows中级题
python·反编译·nuitka·flag
GEO_youxuan4 分钟前
财务报表分析软件哪个好?2026年主流产品实测对比
python
为爱停留5 分钟前
我的第一个智能问答:给智能体接上网页 + 流式输出
python
专注VB编程开发20年5 分钟前
Python爬虫、提取网页内容,免费调用谷歌翻译接口
爬虫·python·信息可视化
gCode Teacher 格码致知11 分钟前
Python教学:十六进制编码的显示方法-由Deepseek产生
开发语言·python·算法
biter down11 分钟前
8:YAML 语法
运维·python
知识分享小能手13 分钟前
数据预处理入门学习教程,从入门到精通,数据获取 — 知识点详解与案例代码(4)
python·学习·pandas
weixin_4684668518 分钟前
深度学习损失函数新手实战指南
人工智能·python·深度学习·算法·机器学习·ai