class Solution {
public:
string smallestSubsequence(string s) {
if(s==""){
return "";
}
string r="";
unordered_map<char,int>res,choose;
for(int i=0;i<s.length();i++){
if(res.count(s[i])){
res[s[i]]++;
}
else{
res[s[i]]=1;
}
}
for(int i=0;i<s.length();i++){
res[s[i]]--;
if(r.length()){
if(choose[s[i]]==0){
while(r.back()>s[i] && res[r.back()]>0){
choose[r.back()]=0;
r.pop_back();
}
r+=s[i];
choose[s[i]]=1;
}
}
else{
choose[s[i]]=1;
r+=s[i];
}
}
return r;
}
};
不同字符的最小子序列
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.