当前位置: 代码迷 >> 综合 >> Leetcode 1081. 不同字符的最小子序列(DAY 122) ---- 贪心算法学习期(RNG真是我蝶)
  详细解决方案

Leetcode 1081. 不同字符的最小子序列(DAY 122) ---- 贪心算法学习期(RNG真是我蝶)

热度:66   发布时间:2023-11-17 18:12:27.0

原题题目

在这里插入图片描述


代码实现(首刷大部分看解)

class Solution {
    
public:string smallestSubsequence(string s) {
    unordered_map<char,int> map,visit;int pos = 0;string ret;for(const auto& chr:s)  ++map[chr];for(int i=0;i<s.size();++i){
    if(!map[s[i]]) continue;while(ret.size() && ret.back() > s[i] && map[ret.back()] && !visit[s[i]]){
    visit[ret.back()] = 0;ret.pop_back();}if(!visit[s[i]]){
    ret.push_back(s[i]);visit[s[i]] = 1;}--map[s[i]];}return ret;}
};