временная сложность обратного решения палиндромного разбиения

Дана строка s, раздел s такой, что каждая строка раздела является палиндромом. Так какова временная сложность следующего кода.

bool isPalindrome(string s){
int i,j;
for(i=0,j=s.length()-1; i<j && s[i]==s[j]; i++,j--);
return i>=j;
}
void palindromePartitions(string s, vector<string> ans, vector<vector<string> > &allPartitions, int idx){
if(s.length()<1)
return ;
if(idx == s.length()){
allPartitions.push_back(ans);
return;
}
string temp;
for(int i=idx; i<s.length(); i++){
temp+=s[i];
ans.push_back(temp);
if(isPalindrome(temp))
palindromePartitions(s, ans, allPartitions, i+1);
ans.pop_back();
}
}

**//----This is the driver program called from main function----**
vector<vector<string> > Solution::partition(string s) {
vector<vector<string> > allPartitions;
if(s.length() < 1)
return allPartitions;
vector<string> ans;
palindromePartitions(s, ans, allPartitions, 0);

return allPartitions;
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]