zoukankan      html  css  js  c++  java
  • leetcode 87 Scramble String

    https://www.cnblogs.com/grandyang/p/4318500.html

    1. 递归,每次比较字符串的i个字串是否匹配。

    class Solution {
    public:
        bool isScramble(string s1, string s2) {
            if(s1.size()!=s2.size()) return false;
            if(s1==s2) return true;
            string str1=s1,str2=s2;
            sort(str1.begin(),str1.end());
            sort(str2.begin(),str2.end());
            if(str1!=str2) return false;
            for(int i=1;i<s1.size();++i) {
                string s11=s1.substr(0,i),s12=s1.substr(i);
                string s21=s2.substr(0,i),s22=s2.substr(i);
                if(isScramble(s11,s21)&&isScramble(s12,s22)) return true;
                s21=s2.substr(s2.size()-i);s22=s2.substr(0,s2.size()-i);
                if(isScramble(s11,s21)&&isScramble(s12,s22)) return true;
            }
            return false;
        }
    };

    2. dp

    class Solution {
    public:
        bool isScramble(string s1, string s2) {
            if(s1.size()!=s2.size()) return false;
            if(s1==s2) return true;
            int n=s1.size();
            vector<vector<vector<bool>>> dp(n,vector<vector<bool>>(n,vector<bool>(n+1,false)));
            for(int len=1;len<=n;++len) {
                for(int i=0;i<=n-len;++i) {
                    for(int j=0;j<=n-len;++j) {
                        if(len==1) dp[i][j][len]=s1[i]==s2[j];
                        else {
                            for(int k=1;k<len;++k) {
                                if((dp[i][j][k]&&dp[i+k][j+k][len-k])||(dp[i+k][j][len-k]&&dp[i][j+len-k][k])) {
                                    dp[i][j][len]=true;
                                    break;
                                }
                            }
                        }
                    }
                }
            }
            return dp[0][0][n];
        }
    };
  • 相关阅读:
    Installing Oracle Database 12c Release 2(12.2) RAC on RHEL7.3 in Silent Mode
    周四测试
    假期生活
    《人月神话》阅读笔记三
    《人月神话》阅读笔记二
    《人月神话》阅读笔记一
    软件进度7
    软件进度6
    软件进度5
    软件进度4
  • 原文地址:https://www.cnblogs.com/LiuQiujie/p/12750462.html
Copyright © 2011-2022 走看看