zoukankan      html  css  js  c++  java
  • 最大子序列

    对于字符串x和y, 如果擦除x中的某些字母(有可能全擦掉或者都不擦)能够得到y,我们就称y是x的子序列。例如."ncd"是"nowcoder"的子序列,而"xt"不是。
    现在对于给定的一个字符串s,请计算出字典序最大的s的子序列。

    输入描述:

    输入包括一行,一个字符串s,字符串s长度length(1 ≤ length ≤ 50).
    s中每个字符都是小写字母
    

    输出描述:

    输出一个字符串,即字典序最大的s的子序列。

    示例1

    输入

    test

    输出

    tt
    #include<bits/stdc++.h>
    using namespace std;
    string s;
    int main()
    {
        cin>>s;
        ostringstream ss;
        while(!s.empty()){
            string::iterator it = max_element(s.begin(),s.end());
            ss<<*it;
            s.erase(s.begin(),it+1);
        }
        cout<<ss.str()<<endl;
        return 0;
    }
    
    #include<bits/stdc++.h>
    using namespace std;
    string s;
    int find_max(string s,int start)
    {
        int pos = start;
        char max_char = s[pos];
        for(int i=start+1;i<s.size();i++){
            if(s[i] > max_char){
                max_char = s[i];
                pos = i;
            }
        }
        return pos;
    }
    int main()
    {
        string s;
        cin>>s;
        string res;
        int pos = 0;
        while(pos < s.size()){
            pos = find_max(s,pos);
            res.append(1,s[pos]);
            pos++;
        }
        cout<<res<<endl;
    }
    
  • 相关阅读:
    287. Find the Duplicate Number
    基本排序算法实现
    Java内存模型
    JVM之垃圾收集器与内存分配回收策略(二)
    Java并发编程基础——同步
    二维数组的查找问题
    Maven整合SSM测试
    Mysql基础
    SpringMVC之Controller和参数绑定
    Spring+SpringMVC+Mybatis整合
  • 原文地址:https://www.cnblogs.com/strawqqhat/p/10602261.html
Copyright © 2011-2022 走看看