栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

[LeetCode]97. 交错字符串(java实现)动态规划

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[LeetCode]97. 交错字符串(java实现)动态规划

[LeetCode]97. 交错字符串(java实现)动态规划

1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结

1. 题目



2. 读题(需要重点注意的东西)

思路(dp):

3. 解法

---------------------------------------------------解法---------------------------------------------------:

class Solution {
    public boolean isInterleave(String s1, String s2, String s3) {
        int n = s1.length(),m = s2.length();
        if(s3.length() != m + n) return false;
        boolean[][] f = new boolean[m+10][n+10];
        f[0][0] = true;
        s1 = " " + s1;
        s2 = " " + s2;
        s3 = " " + s3;
        for(int i = 0;i <= n;i++){
            for(int j = 0;j <= m;j++){
                if(i != 0 && s1.charAt(i) == s3.charAt(i + j)) f[i][j] = f[i-1][j];
                if(j != 0 && s2.charAt(j) == s3.charAt(i + j)) f[i][j] |= f[i][j-1];
            }
        }
        return f[n][m];
    }
}

可能存在的问题:

4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想

dp 6. 总结

在for循环中能否取0要看它的实际意义,如当i = 0,j != 0时,表示的是S1中长度为0的字符串与S2中长度为1的字符串交替构成S3中长度为1的字符串,这个表达是合法的,所以能取0。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/760220.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号