輸入乙個字串s,s由小寫英文本母組成,保證s長度小於5000並且大於1.在s的所有不同子串中,輸出字典序第k小的字串。
字串中任意個連續的字串組成的子串行成為該字串的子串。
字母序表示英文單詞在字典中的先後順序,即先比較第乙個字母,若第乙個字母相同,則比較第二個字母的字典序,以此類推,則可比較出該字串的字典序大小。
第一行輸入乙個字串s,保證s長度小於5000大於等於1。第二行乙個整數k(1<=k<=5),保證s不同子串個數大於等於k。
輸出乙個字串表示答案。
aabb
aab
不同子串依序為:a ab aab aabb ab abb b bb
所以答案為aab
#include
#include
#include
#include
using
namespace std;
string s;
unsigned
int k;
vector res;
void
substring
(string s)
intmain()
substring
(s);
cout << res[k]
<< endl;
return0;
}
#include
#include
#include
#include
using
namespace std;
string s;
unsigned
int k;
string a[
99999];
//儲存子串
vector res;
void
substring
(string s)
intmain()
substring
(s);
for(
int i =
0; i < res.
size()
-1; i++
)else
if(q ==0)
}}cout << res[k]
<< endl;
return0;
}
乙個字串比較的題
假設兩個字串中所含有的字元和個數都相同我們就叫這兩個字串匹配,比如 abcda和adabc,由於出現的字元個數都是相同,只是順序不同,所以這兩個字串是匹配的。要求高效!當然考慮用高效快捷的python來練一練,看到有人很快就寫下了以下 sorted abcda sorted adabc true g...
子串 求出乙個字串的子串數目
定義 串中任意個連續 的字元組成的子串行稱為該串的子串 空串是所有串的字串,所以當字串長度為 0時,字串為空串。字串長度為0 空串 共1 個 字串長度為1 a,d,e,r,e,e,g,f,b,w 共10 個 字串長度為2 ad,de,er,re,ee,eg,gf,fb,bw 共9 個 字串長度為3 ...
程式設計題 給定乙個字串陣列,判斷每個字元出現次數
題目要求 給定乙個字串陣列,判斷每個字元出現多少次?解決思路 利用map的特性 即map集合中如果兩個key 鍵 值是一樣相同的,那麼,後放 put 入的值會將前面存在的value 值 替換掉,也就是覆蓋了前面的value。所以把字元陣列中的字元當作key,每遇到相同的key,value值加1即可。...