zoukankan      html  css  js  c++  java
  • leetcode——87.扰乱字符串

    动态规划,还是学不会,,这道题好难啊!!!!

    但是思路对了之后又是如此清晰。

    public boolean isScramble(String s1, String s2) {
            if(s1.length() != s2.length()){
                return false;
            }
            int len = s1.length();
            boolean[][][] f = new boolean[len][len][len+1];//f[i][j][k]代表长度为k的以i开始的s1与以j开始的s2是否是扰乱字符串
            for(int i = 0;i<len;i++){
                for(int j = 0;j<len;j++){
                    f[i][j][1] = s1.charAt(i) ==s2.charAt(j);
                }
            }
            for(int n = 2;n<=len;n++){
                for(int i = 0;i+n<= len;i++){
                    for(int j = 0;j+n<=len;j++){
                        for(int k = 1;k<n;k++){
                            if((f[i][j][k] && f[i+k][j+k][n-k])||(f[i][j+n-k][k]&&f[i+k][j][n-k])){
                                f[i][j][n] = true;
                                break;
                            }
                        }
                    }
                }
            }
            return f[0][0][len];
        }

     ——2020.6.27

    我的前方是万里征途,星辰大海!!
  • 相关阅读:
    找水王续
    找水王续
    本周学习进度
    Node.js 学习
    在Linux机器上安装MySQL
    ZStack串口通信
    Java编写串口程序
    ServerSocket
    ZigBee毕设
    ZigBee相关网站链接
  • 原文地址:https://www.cnblogs.com/taoyuxin/p/13198084.html
Copyright © 2011-2022 走看看