技术栈

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)
上一篇:进程状态(一)---- 运行,阻塞,挂起
下一篇:自定义监控
相关推荐
xiaoshuaishuai8
24 分钟前
Git二分法定位Bug
开发语言·python
2401_83579254
32 分钟前
FastAPI 速通
windows·python·fastapi
XiYang-DING
33 分钟前
【LeetCode】 225.用队列实现栈
算法·leetcode·职场和发展
YMWM_
1 小时前
export MPLBACKEND=Agg命令使用
linux·python
派大星~课堂
1 小时前
【力扣-148. 排序链表】Python笔记
python·leetcode·链表
微涼530
1 小时前
【Python】在使用联网工具时需要的问题
服务器·python·php
小白菜又菜
1 小时前
Leetcode 657. Robot Return to Origin
python·leetcode·职场和发展
_深海凉_
1 小时前
LeetCode热题100-环形链表
算法·leetcode·链表
2402_88131930
2 小时前
跨服务通信兜底机制-Java 回传失败无持久重试队列,报告可能静默丢失。
java·开发语言·python
memcpy0
2 小时前
LeetCode 904. 水果成篮【不定长滑窗+哈希表】1516
算法·leetcode·散列表
热门推荐
01GitHub 镜像站点02OpenClaw 请求超时 llm request timed out 怎么解决?3 种方案实测,附完整排查流程03Qwen3.5-Omni与Qwen3.6模型全面解析(含测评/案例/使用教程)04AI 编程效率翻倍:Superpowers Skills 上手清单 + 完整指南05VMware Workstation Pro 17 虚拟机完整安装教程(2026最新)06Claude Code 未登录 使用第三方模型07Oh My Codex 快速使用指南08【技术干货】Gemma 4 上手深度指南:本地多模态大模型的新基线09最新更新版本,OpenClaw v2026.4.2 深度解读剖析:Task Flow 重磅回归与安全架构的全面硬化10UV安装并设置国内源