尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
053【必备】单调栈
962. 最大宽度坡给定一个整数数组A坡是元组(i, j)其中i j且A[i] A[j]。这样的坡的宽度为j - i。找出A中的坡的最大宽度如果不存在返回 0 。示例 1输入[6,0,8,2,1,5]输出4解释最大宽度的坡为 (i, j) (1, 5): A[1] 0 且 A[5] 5.示例 2输入[9,8,1,0,1,9,4,0,4,1]输出7解释最大宽度的坡为 (i, j) (2, 9): A[2] 1 且 A[9] 1.提示2 A.length 500000 A[i] 50000class Solution { public: int maxWidthRamp(vectorint nums) { int nnums.size(); stackintst; st.push(0); //从左到右建单调递减栈 for(int i1;in;i) { if(nums[i]nums[st.top()]) st.push(i); } int ans0; //从右到左匹配更新答案 for(int in-1;i1;i--) { while(!st.empty() and nums[i]nums[st.top()]) { ansmax(ans,i-st.top()); st.pop(); } } return ans; } };316. 去除重复字母给你一个字符串s请你去除字符串中重复的字母使得每个字母只出现一次。需保证返回结果的字典序最小要求不能打乱其他字符的相对位置。示例 1输入s bcabc输出abc示例 2输入s cbacdcbc输出acdb提示1 s.length 104s由小写英文字母组成注意该题与 1081 1081. 不同字符的最小子序列 - 力扣LeetCode 相同class Solution { public: string removeDuplicateLetters(string s) { int ns.size(); unordered_mapchar,intmp;//词频表 for(auto e:s) mp[e]; //单调栈 stackcharst; //标记字符有没有在栈中 vectorintvis(26,false); for(auto cur:s) { //如果当前字符没有进过栈 if(vis[cur-a]false) { //如果栈顶字符比当前字符大 //并且栈顶字符后续还会出现 //就把栈顶字符清掉用当前字符替代 while(!st.empty() and curst.top() and mp[st.top()]0) { vis[st.top()-a]false; st.pop(); } st.push(cur); vis[cur-a]true; } mp[cur]--; } string ans; while(!st.empty()) { ans.push_back(st.top()); st.pop(); } reverse(ans.begin(),ans.end()); return ans; } };
RELATED

相关推荐

Hermes Agent 多Agent模式实战:用 delegate_task 与 tmux 并行拆解复杂任务

Hermes Agent 多Agent模式实战:用 delegate_task 与 tmux 并行拆解复杂任务

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/3 7:06:45
使用VSCode和DAPLink开发STM32:把调试配置改到TaoToken

使用VSCode和DAPLink开发STM32:把调试配置改到TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/3 7:01:45
Python 连 MySQL 每行代码都注释:TaoToken 统一 Key 下的 pymysql 实操大纲

Python 连 MySQL 每行代码都注释:TaoToken 统一 Key 下的 pymysql 实操大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/3 7:01:45
MORE NEWS

更多资讯

📰

Operit 的 QuickJS + Java Bridge 接口契约:从语法糖到底层桥接的完整实践指南

AI Agent人工智能大模型AI 应用工具调用本地部署MCP ClientsAgent 记忆 【免费下载链接】Operit The most powerful AI agent and AI chat software on Android/Operit是一款Android上能力最为强大、发展最久的AI Agent 项目地址: https://gitcode.com/gh_mirrors/o…

📰

Codex+Xcode Simulator:让 AI 自己复现 iOS Bug 的证据闭环

Codex+Xcode Simulator:让 AI 自己复现 iOS Bug 的证据闭环 [!NOTE] 官方 iOS Simulator 用例把 Codex 与 XcodeBuildMCP 组合起来:发现 project、scheme 和模拟器,构建启动,读取 UI 树,执行点击输入,再用截图、日志或 LLDB 证据定位问题。 最关键的不是“让 AI 自动点手…

📰

Mac Mouse Fix 按键捕获(Captured Mouse Buttons)完整指南:捕获原理、识别方法与恢复原始功能

桌面应用系统编程 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 点击查看 免费下载 本文依据 Mac Mouse Fix 官方指南 CapturedButtonsMM…

📰

新手完整启动盘制作指南:Balena Etcher 5 分钟镜像烧录上手

新手完整启动盘制作指南:Balena Etcher 5 分钟镜像烧录上手 【免费下载链接】etcher Flash OS images to SD cards & USB drives, safely and easily. 项目地址: https://gitcode.com/GitHub_Trending/et/etcher Balena Etcher 是一款把操作系统镜像写入…

📰

Blackhat Ethereum 演讲深度解析:从 EVM 字节码逆向到智能合约漏洞审计与利用

【免费下载链接】publications Publications from Trail of Bits 项目地址: https://gitcode.com/GitHub_Trending/pu/publications 点击查看 免费下载 本篇技术指南围绕 Trail of Bits 两位安全研究员在 CanSecWest 2018 上的演讲《Blackhat Ethereum》展开&#…

📰

modded-nanogpt Speedrun 151.5s 新纪录:删除首个注意力层、扩展验证窗口与 iteration_extension 调度参数解析

人工智能大模型预训练分布式训练模型优化深度学习 【免费下载链接】modded-nanogpt NanoGPT (124M) in 90 seconds 项目地址: https://gitcode.com/GitHub_Trending/mo/modded-nanogpt 点击查看 免费下载 本文基于 modded-nanogpt 仓库 speedrun 纪录 2025-09-21_D…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬