刪除多餘的字元得到字典序最小的字串

2021-09-26 16:15:53 字數 645 閱讀 3338

給乙個全是小寫字母的字串str,刪除多餘字元,使得每種字元只保留乙個,並且讓最終結果字串字典序最小。

輸入包含一行字串,代表str(1≤length(str)​≤10^5)。
輸出一行,代表刪除後的字串。
示例1

acbc
abc
dbcacbca
dabc
時間複雜度o(n),額外空間複雜度o(1)。
//o(n*k) k==26 ---> o(n)  o(1)

#includeusing namespace std;

int main(); //用於統計字元個數

int vis[26]=; //用於標識是否訪問過

for(int i=0;i0 && res.back()>s[i])

res+=s[i]; //res尾部加上s[i]

vis[s[i]-'a']=1; //s[i]已訪問

}cout

}

刪除多餘的字元得到字典序最小的字串

刪除多餘的字元得到字典序最小的字串 給乙個全是小寫字母的字串str,刪除多餘字元,使得每種字元只保留乙個,並且讓最終結果字串字典序最小。輸入描述 輸入包含一行字串,代表str 1 l engt hstr 105 str 1 leq length leq 10 5 str 1 leng thst r ...

最小的字典序

題目 給定乙個字串型別的陣列strs,找到一種拼接方式,使得把所有字 符串拼起來之後形成的字串具有最低的字典序。如 ab cd ef 則拼接後的最低字典序是 abcdef 這裡重點是選擇什麼樣的貪心策略 public class dictsort public static string lowes...

字典序最小的最短路

給出n和m,有n個點,m條雙向邊,1為起點,n為終點,每條邊都有乙個權值,經過每一條邊的時間都為1,求從起點到終點既要時間最少,又要權值組成的序列的字典序最小的一條路徑.4 6 1 2 1 1 3 2 3 4 3 2 3 1 2 4 4 3 1 1 2 1 3 50 n 100 100 n 1000...