![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心 + 单调栈(最大 / 小 的序列等)
文章平均质量分 72
使用双端队列模拟单调栈完成去除某些元素达到某种目标
呦柚子
这个作者很懒,什么都没留下…
展开
-
[HuaWei编程题练习] 删除字符(密钥协商)
有一个长度为n的字符串s,可以删除其中的 m个字符,使剩余字符串的字典序最小,输出这个剩余字符串。有一种密钥协商方案,A电脑给B电脑发送一个一定长度的字符串S(假设长度为m),B电脑给A电脑发送一个整数n(规定:n<m),则将字符串S去掉n个字符后可以得到的字典序最小的字符串L作为两电脑协商之后的通信密钥。输入描述:第一行输入一个整数 T,代表接下来有T组测试数据。对于每一组测试数据,第一行输入两个数n,m代表字符串的长度和可以删除的字符数量。接下来输入长度为n字符串。1≤T≤原创 2021-08-06 17:57:46 · 326 阅读 · 0 评论 -
leetcode — 402. 移掉 K 位数字
给你一个以字符串表示的非负整数num和一个整数k,移除这个数中的k位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。示例 1 :输入:num = "1432219", k = 3输出:"1219"解释:移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219 。示例 2 :输入:num = "10200", k = 1输出:"200"解释:移掉首位的 1 剩下的数字为 200. 注意输出不能有任何前导零。示例 3 :输入:num...原创 2021-08-02 11:54:55 · 410 阅读 · 0 评论 -
leetcode — 316. 去除重复字母 (1081. 不同字符的最小子序列)
给你一个字符串s,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证返回结果的字典序最小(要求不能打乱其他字符的相对位置)。注意:该题与 1081https://leetcode-cn.com/problems/smallest-subsequence-of-distinct-characters相同示例 1:输入:s = "bcabc"输出:"abc"示例 2:输入:s = "cbacdcbc"输出:"acdb"提示:1 <= s.length...原创 2021-08-02 16:15:51 · 376 阅读 · 0 评论