@[TOC][腾讯校招编程题-按字典序输出一个字符串的子串]
题目描述
输入一个字符串s,s由小写英文字母组成,保证s长度小于5000并且大于1.在s的所有不同子串中,输出字典序第k小的字符串。
字符串中任意个连续的字符串组成的子序列成为该字符串的子串。
字母序表示英文单词在字典中的先后顺序,即先比较第一个字母,若第一个字母相同,则比较第二个字母的字典序,以此类推,则可比较出该字符串的字典序大小。
输入描述
第一行输入一个字符串s,保证s长度小于5000大于等于1。
第二行一个整数k(1<=k<=5),保证s不同子串个数大于等于k。
输出描述
输出一个字符串表示答案。
样例
输入
aabb
3
输出
aab
说明
不同子串依序为:
a ab aab aabb ab abb b bb
所以答案为aab
代码1
#include<iostream>
#include<vector>
#include<string.h>
#include<cstring>
using namespace std;
string s;
unsigned int k;
vector<string> res;
void Substring(string s) {
for (int i = 0; i < s.length(); i++) //遍历字符串
for (int j = 1 +