NC15805. 字典序最大的子序列
描述
输入描述
一行一个字符串s (1 <= |s| <= 100,000)。
输出描述
字典序最大的子序列。
示例1
输入:
ababba
输出:
bbba
示例2
输入:
abbcbccacbbcbaaba
输出:
cccccbba
Python(2.7.3) 解法, 执行用时: 26ms, 内存消耗: 6244K, 提交时间: 2018-04-27 19:19:58
s = raw_input() m = 'a' ans = [] for i in range(len(s) - 1, -1, -1): if s[i] >= m: ans.append(s[i]) m = s[i] ans = reversed(ans) print(''.join(ans))
C++ 解法, 执行用时: 7ms, 内存消耗: 672K, 提交时间: 2022-07-09 15:58:12
#include <bits/stdc++.h> using namespace std;string s,r;int main(){cin>>s;for(int i=0;i<s.size();i++){while(r.size()&&s[i]>r.back()) r.pop_back();r+=s[i];}cout<<r<<endl;}
pypy3 解法, 执行用时: 80ms, 内存消耗: 23724K, 提交时间: 2023-02-15 19:32:05
s=input()[::-1] a="" c=s[0] for i in s: if i>=c: a+=i c=i print(a[::-1])