技术栈

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

Mopes__2024-08-03 8:53

题目:

题解:

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)
上一篇:进程状态(一)---- 运行,阻塞,挂起
下一篇:自定义监控
相关推荐
波特率115200
27 分钟前
miniconda入门使用
python·conda·miniconda·python环境
二闹
31 分钟前
别再死记硬背了!带你扒开*args和**kwargs的底裤
后端·python
阿Y加油吧
43 分钟前
力扣打卡——day01
java·算法·leetcode
m0_74329742
44 分钟前
Python在金融科技(FinTech)中的应用
jvm·数据库·python
老师好,我是刘同学
1 小时前
列表推导式详解与实战应用
python
与虾牵手
1 小时前
Rust 入门:一个写了 6 年 Python 的人,被编译器骂了三天
python
2401_85786523
1 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python
AsDuang
1 小时前
Python 3.12 MagicMethods - 54 - __rrshift__
开发语言·python
Tisfy
1 小时前
LeetCode 1727.重新排列后的最大子矩阵:枚举矩形底边是哪一行 + 排序
算法·leetcode·矩阵
Bert.Cai
1 小时前
Python字符串详解
开发语言·python
热门推荐
01GitHub 镜像站点02Qwen3.5 开源全解析:从 0.8B 到 397B,代际升级 + 全场景选型指南03OpenClaw 使用和管理 MCP 完全指南04UV安装并设置国内源05OpenClaw Control UI安全上下文访问配置06OpenClaw macOS 完整安装与本地模型配置教程(实战版)07Claude Code + GLM4.7 避坑指南:解决 Unable to connect to Anthropic services08本地部署 OpenClaw + DeepSeek-R1 完全指南09小黑课堂计算机二级WPSoffice题库软件下载安装教程(2026年3月最新版)10AI 编程三剑客:Spec-Kit、OpenSpec、Superpowers 深度对比与实战指南