算法常用模板

1.判断字符串的子字符串是否是回文子串

 for(int i=n-1;i>=0;i--)//dp预处理判断i-j是否是回文子串
                for(int j=i+1;j<n;j++){
                    f[i][j]=f[i+1][j-1]&&(s[i]==s[j]);
                }

2.枚举子集

void dfs(string s,int pos){
            if(pos==s.size()){
                ans.push_back(ret);
                return;
            }
            for(int i=pos;i<s.size();i++){
                if(f[pos][i]){
                    ret.push_back(s.substr(pos,i-pos+1));
                    dfs(s,i+1);
                    ret.pop_back();
                }       
         }
    }

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×