题目链接

对于一个字符串,删除满足s[i]>s[i+1]s[i] > s[i+1]s[i]>s[i+1]且iii最小的那个字符,使得删除后的字典序最小,基于这个思路,可以在遍历的时候判断如果前面的字符字典序大就删除它。另外还要满足每个元素只出现一次。

class Solution {public:string removeDuplicateLetters(string s) {vector<int> cnt(26), vis(26);for (char ch : s) {cnt[ch - 'a']++;}string ret;for (char ch : s) {if (!vis[ch - 'a']) {while (!ret.empty() && ch < ret.back() && cnt[ret.back() - 'a']) {vis[ret.back() - 'a'] = 0;ret.pop_back();}vis[ch - 'a'] = 1;ret.push_back(ch);}cnt[ch - 'a']--;}return ret;}
};

贪心/栈 - 去除重复字母相关推荐

  1. 贪心+单调栈——去除重复字母(Leetcode 316)

    题目选自Leetcode 316 第一步当然是好好读题~ 有的人读着很快啊,啪 一下 哦原来就是个排序 哒哒哒一分钟解决战斗,欸 怎么全错了. 再仔细一看,原来少了重要的条件--要求不能打乱其他字符的 ...

  2. 力扣- -去除重复字母

    力扣- -去除重复字母 文章目录 力扣- -去除重复字母 一.题目描述 二.分析 三.代码 四.问题描述 五.代码 一.题目描述 二.分析 题目的要求总结出来有三点: 要求一.要去重. 要求二.去重字 ...

  3. 20200213:去除重复字母(leetcode316)

    去除重复字母 题目 思路与算法 代码实现 题目 思路与算法 首先对字符串进行遍历,将当前字符串依次入栈, 注意入栈的条件: 新入栈的元素在栈内没有出现过,必须是未出现过的元素 新入栈的元素如果比栈顶元 ...

  4. LeetCode 练习——316. 去除重复字母

    文章目录 1.题目描述 2.思路 2.1 代码 2.2 测试结果 3.总结 1.题目描述 去除重复字母 给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次.需保证 返回结果的字典 ...

  5. 316. 去除重复字母

    链接:316. 去除重复字母 题解:https://leetcode-cn.com/problems/remove-duplicate-letters/solution/qu-chu-zhong-fu ...

  6. 316 Remove Duplicate Letters 去除重复字母

    给定一个仅包含小写字母的字符串,去除重复的字母使得所有字母出现且仅出现一次.你必须保证返回结果是所有可能结果中的以字典排序的最短结果. 例如: 给定 "bcabc" 返回 &quo ...

  7. leetcode 316. 去除重复字母(单调栈)

    给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次.需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置). 注意:该题与 1081 https://leetcode-c ...

  8. LeetCode 316. 去除重复字母 / 1081. 不同字符的最小子序列(单调栈)

    文章目录 1. 题目 2. 解题 1. 题目 LC 316: 给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次.需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置). ...

  9. leetcode 316. Remove Duplicate Letters | 316. 去除重复字母(单调栈解法)

    题目 https://leetcode.com/problems/remove-duplicate-letters 题解 关于什么是"字典序" 字典序,换成数字更好理解一点 a:1 ...

最新文章

  1. K - 迷宫问题 POJ - 3984
  2. DHCP企业应用指南
  3. 解析并验证IE6及之前版本的'!important’ BUG(转)
  4. 如何跑通第一个 DataStream 作业?
  5. voc定位数据xml转coco数据集格式json
  6. idea shell 使用linux_Linux使用shell定时任务实现ffmpeg视频转码和截图
  7. 模型人的因素_肺癌风险预测模型中纳入肺功能如何?
  8. Tensorflow训练和预测中的BN层的坑(转载)
  9. Mysql常用的几种join连接方式
  10. Heartbeat集群配置实例
  11. sourcetree提示无效路径_关于今明可转债申购的温馨提示
  12. 金蝶移动bos开发教程_移动安全(四)|NDK开发教程_JavaToC
  13. matlab 格式化文件,Matlab 文件格式化/Matlab Source File Formator
  14. 我为何从开发转测试,并坚持了16年?
  15. 小孔子内容管理系统V2.0正式开源发布
  16. mc服务器资源包在什么文件夹,资源包
  17. python绘制积分函数_Python超越函数积分运算以及绘图实现代码
  18. webstorm安装eslint插件_在WebStorm中使用ESLint开发Vue项目 | 六阿哥博客
  19. datetimepicker 插件用法及参数说明
  20. 1024程序员节获奖名单放榜啦,云端技术奥秘大使就是你!

热门文章

  1. 关于实现Runnable接口的类中有公共属性问题
  2. Vue子组件与父组件之间的通信
  3. Android 带有字数统计的 TextInputLayout
  4. Android 关于“NetworkOnMainThreadException”
  5. C#自定义开关按钮控件--附带第一个私活项目截图
  6. VBA实战技巧精粹012:查找指定目录下的指定文件及Dir函数用法
  7. linux下镜像播放视频,linux下挂载iso镜像的方法
  8. 2020年第十一届蓝桥杯 - 国赛 - Python大学组 - H.答疑
  9. 这年头学爬虫还就得会点 scrapy 框架
  10. Python编码错误的解决办法SyntaxError: Non-ASCII character ‘\xe5‘ in file