文章 2022-06-13 来自:开发者社区

【LeetCode316】去除重复字母(单调栈+哈希)

一、题目二、思路先读懂题意,删除重复的字母,得到最小的字符串。如babc,删除重复字母有两种结果bac,abc。abc小于bac,所以答案是abc。遇到一个新字符 如果比栈顶小 并且在新字符后面还有和栈顶一样的 就把栈顶的字符抛弃了。(1)前者的条件即单调栈的步骤(for中带while);可以用哈希表inst统计当前字符是否在栈中。(2)为了满足后者的条件,即如果栈顶元素大于当前遍历到的字符s[....

【LeetCode316】去除重复字母(单调栈+哈希)
文章 2022-02-17 来自:开发者社区

LeetCode——去除重复字母(借助栈)

这是我参与8月更文挑战的第27天,活动详情查看:8月更文挑战题目描述解题思路本题我们采用栈的思路来解决这个问题,在解决问题之前,首先我们要看懂这个题目,这个题目并不是说对字母去重后直接按照字典序排列的,而是附加了一个条件即不能打乱其他字符的相对位置,如何能保证不打乱其他字符的相对位置呢?可以采用将该元素在字符串中最后一次出现时再加入栈,即使前面加入了也要pop出去.第一步: 如果字符出现在栈中则....

LeetCode——去除重复字母(借助栈)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等