zoukankan      html  css  js  c++  java
  • 3.8——K-th Substring

    题目描述

    You are given a string s. Among the different substrings of s, print the K-th lexicographically smallest one.
    A substring of s is a string obtained by taking out a non-empty contiguous part in s. For example, if s = ababc, a, bab and ababc are substrings of s, while ac, z and an empty string are not. Also, we say that substrings are different when they are different as strings.
    Let X=x1x2…xn and Y=y1y2…ym be two distinct strings. X is lexicographically larger than Y if and only if Y is a prefix of X or xj>yj where j is the smallest integer such that xj≠yj.

    Constraints
    1 ≤ |s| ≤ 5000
    s consists of lowercase English letters.
    1 ≤ K ≤ 5
    s has at least K different substrings.
    Partial Score
    200 points will be awarded as a partial score for passing the test set satisfying |s| ≤ 50.

    输入

    Input is given from Standard Input in the following format:
    s
    K

    输出

    Print the K-th lexicographically smallest substring of K.

    样例输入

    复制样例数据

    aba
    4
    

    样例输出

    b
    

    提示

    s has five substrings: a, b, ab, ba and aba. Among them, we should print the fourth smallest one, b. Note that we do not count a twice.

    来源/分类

    ABC097&ARC097 

    意思就是找字串,求出第k大的。

    #include <cstdio>
    #include <iostream>
    #include <cstring>
    #include <set>
    using namespace std;
    
    set<string> p;
    int main ()
    {
        string s;
        int k;
        cin>>s>>k;
        int i,j;
        int n=s.size();
        for (i=0;i<=n-1;i++)
            for (j=1;j<=5;j++)
            {
                if (i+j-1>=n) continue;
                p.insert(s.substr(i,j));
            }
        for (i=1;i<=k-1;i++)
        {
            p.erase(p.begin());
        }
        cout<<(*(p.begin()))<<endl;//这样使用
        return 0;
    }
    
  • 相关阅读:
    表的锁机制
    ABAP函数:VIEW_MAINTENANCE_CALL(维护表视图等)
    数据字典中新建表时出现黄色警告的处理
    smartforms长文本处理方式
    打印报表页码
    可以根据柜子内表取出所有的柜子信息的BAPI函数
    方法的重载、类的继承
    构造方法
    函数方法
    方法
  • 原文地址:https://www.cnblogs.com/skyleafcoder/p/12319526.html
Copyright © 2011-2022 走看看