2014. 重复 K 次的最长子序列 - 力扣(LeetCode) (leetcode-cn.com)
class Solution {
public:
vector<string> ans[8];
bool check(const string &c,const string &s,int k){
int n=s.length();
int m=c.length();
int j=0;
for(int i=0;i<n&&j<k*m;i++){
if(s[i]==c[j%m])j++;
}
return j==k*m;
}
string longestSubsequenceRepeatedK(string s, int k) {
int n = s.length();
ans[0].push_back("");
for(int L=1;L<8;L++){
for(string &cur:ans[L-1]){
for(char c='z';c>='a';c--){
string nxt=cur+c;
if(check(nxt,s,k)){ans[L].push_back(nxt);}
}
}
}
for(int L=7;L>=0;L--){
if(ans[L].size()>0) return ans[L][0];
}
return "";
}
};