SRM 518 Div 1 - Problem 250 LargestSubsequence
問題
SRM 518 Div 1 - Problem 250 LargestSubsequence
TopCoder Statistics - Problem Statement
使用言語
C++
問題概要
与えられた文字列から各文字の相対的な順序は変えずに,文字列を抽出し,その中で辞書順で最も大きくなる文字列を返す.
方針
文字列 .*XY.* について,
X>=YならXは残す
X
・文字列の連結が自然にできるのはありがたい.言語仕様に感謝.
コード
class LargestSubsequence { public: string getLargest(string s) { string ans = ""; int l = s.length(); ans += s[l-1]; for (int i = l-2; i >= 0; i--) { if (ans[0] <= s[i]) ans = s[i] + ans; } return ans; } };