当前位置: 首页 > article >正文

力扣面试150 交错字符串 二维DP

Problem: 97. 交错字符串
在这里插入图片描述
👨‍🏫 参考题解

在这里插入图片描述

class Solution {
    public boolean isInterleave(String s1, String s2, String s3) {
        int m = s1.length();
        int n = s2.length();
        if(s3.length() != m + n) return false;

        boolean[][] dp = new boolean[m+1][n+1];
        dp[0][0] = true;
        for(int i = 1; i <= m && s1.charAt(i - 1) == s3.charAt(i-1); i++) // 不相符直接终止
            dp[i][0] = true;
        for(int i = 1; i <= n && s2.charAt(i - 1) == s3.charAt(i-1); i++) // 不相符直接终止
            dp[0][i] = true;
        for(int i = 1; i <= m; i++){
            for(int j = 1; j <= n; j++){
                dp[i][j] = (dp[i-1][j] && s3.charAt(i+j-1) == s1.charAt(i-1))
                    || (dp[i][j-1] && s3.charAt(i+j-1) == s2.charAt(j-1));
            }
        }
        return dp[m][n];
    }
}

http://www.kler.cn/news/353795.html

相关文章:

  • 数学建模算法与应用 第7章 数理统计与方法
  • Python | Leetcode Python题解之第482题秘钥格式化
  • 深入理解Dubbo原理鱼实现,提升职场竞争力
  • 从0开始学Python-day8
  • Unity3D 如何实现从任意位置与方向出发后按规定方向到达目标点详解
  • C#从零开始学习(如何构建应用)
  • Java:类和对象
  • Mysql—高可用集群MHA
  • C++设计模式——装饰器模式
  • 2024年10款超好用的图纸加密软件推荐|企业图纸加密必备!
  • IntelliJ IDEA如何安装插件
  • 胤娲科技:AI短视频——创意无界,即梦启航
  • C++笔记之静态多态和动态多态
  • Java日常开发小结-01
  • 【C语言】占位符集合
  • PHP对Json数据格式的理解
  • 1002-补打卡-leetcode打卡,有序数组去除重复出现超过2次的元素
  • 《vue leaflet学习实践笔记》
  • openpose二维骨架搭建介绍及代码撰写详解(总结4)
  • Linux下内核空间和用户空间内存映射图详解