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

Leetcode 交错字符串

在这里插入图片描述

java solution

class Solution {
    public boolean isInterleave(String s1, String s2, String s3) {
        //首先获取这三个字符串的长度
        int m = s1.length();
        int n = s2.length();
        int l = s3.length();

        if(m + n != l) return false;

        //创建dp数组,dp[i][j]其含义是s3的前i+j个字符是否可以由s1中的前i个字符和s2中的前j个字符交错组成
        boolean[][] dp = new boolean[m + 1][n + 1]; //下标最大是m,n, 可以取到dp[m][n]
        dp[0][0] = true;
        
        //更新第一行和第一列
        for(int i = 1; i <= m; i++) { //注意,i,j的循环判断都是小于等于
            dp[i][0] = dp[i - 1][0] && s1.charAt(i - 1) == s3.charAt(i - 1);
        }

        for(int j = 1; j <= n; j++) {
            dp[0][j] = dp[0][j - 1] && s2.charAt(j - 1) == s3.charAt(j - 1);
        }

        for(int i = 1; i <= m; i++) {
            for(int j = 1; j <= n; j++) {
                char c1 = s1.charAt(i - 1);
                char c2 = s2.charAt(j - 1);
                char c3 = s3.charAt(i + j - 1);
                dp[i][j] = (dp[i - 1][j] && c1 == c3) || (dp[i][j - 1] && c2 == c3);
            }
        }
        return dp[m][n];
    }
}
http://www.dtcms.com/a/91693.html

相关文章:

  • [FPGA基础学习]加法器、三八译码器及DE2-115基本使用方法和数码管显示
  • (C语言)动态分配的动态通讯录(静态通讯录Plus)(C语言小项目)
  • 关于跨域问题(本地前端访问服务器端接口跨域出错)
  • Notepad++ 替换 换行符 为 逗号
  • 关于服务器只能访问localhost:8111地址,局域网不能访问的问题
  • AWE直击:萤石RX30 Max的吸泡面战争,一场清洁技术的范式革命
  • 分布式服务的熔断和降级
  • Unity Shader 学习17:合批渲染
  • Spring Boot 连接 MySQL 配置参数详解
  • 维创智脑(WIC)项目观察:技术集成的理想模型与现实难题
  • Containerd+Kubernetes搭建k8s集群
  • Mysql表中的字符编码到底怎么设置
  • ref和reactive区别
  • JS输出九九乘法表
  • Flink watermark的时间字段有空值,建表的时候,如何处理
  • C# 责任链模式全面讲解:设计思想与实际应用
  • LInux基础--ssh服务+日志管理
  • 家庭网络结构之局域网通信
  • 嘉立创庐山派,正点原子DNK230,k230烧录指南:为啥烧录固件会出现usb识别不了,无法使用,固件烧录后庐山派会亮蓝紫灯卡死
  • 操作系统之输入输出
  • 详细介绍Qt中用于断言的宏 Q_ASSERT
  • 批量取消 PDF 文档中的所有超链接
  • LaTeX:Springer LNCS模板报错及解决方案
  • 绿联NAS安装内网穿透实现无公网IP也能用手机平板远程访问经验分享
  • 【BFS】《单源、多源 BFS:图搜索算法的双生力量》
  • 如何在 OpenStack Glance 中为租户配置镜像存储配额(20GB限制)——详细操作指南
  • 解决GLIBC不兼容问题
  • 【递归、搜索与回溯】-- 基本介绍
  • DeepSeek V3-0324升级:开启人机共创新纪元
  • 【含文档+PPT+源码】基于Python校园跑腿管理系统设计与实现