动态规划算法-两个数组的dp(含字符串数组):43.不同的子序列

题目链接:115. 不同的子序列(困难)

算法原理:

解法:动态规划

Java代码:

java 复制代码
/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 王洋
 * Date: 2025-10-26
 * Time: 21:33
 */
class Solution {
    //115. 不同的子序列
    //看完算法原理后自己写了一遍,主要就是在行和列上与s和t的一一对应关系上出了点差错,导致一直不通过
    //跟吴小哲写的一样
    public int numDistinct(String s, String t) {
        int m=t.length(),n=s.length();
        int[][] dp=new int[m+1][n+1];
        //初始化
        for(int j=0;j<=n;j++) dp[0][j]=1;
        s=" "+s;t=" "+t;
        for(int i=1;i<=m;i++){
            for(int j=1;j<=n;j++){
                dp[i][j]+=dp[i][j-1];
                if(t.charAt(i)==s.charAt(j))
                    dp[i][j]+=dp[i-1][j-1];
            }
        }
        return dp[m][n];
    }
}
相关推荐
炽烈小老头9 小时前
【每天学习一点算法 2025/12/30】最大子序和
学习·算法
ZePingPingZe9 小时前
静态代理、JDK和Cglib动态代理、回调
java·开发语言
Flash.kkl9 小时前
优选算法专题十八——BFS解决拓扑排序
算法·宽度优先
万粉变现经纪人9 小时前
如何解决 pip install 代理报错 SOCKS5 握手失败 ReadTimeoutError 问题
java·python·pycharm·beautifulsoup·bug·pandas·pip
风月歌9 小时前
2025-2026计算机毕业设计选题指导,java|springboot|ssm项目成品推荐
java·python·小程序·毕业设计·php·源码
heartbeat..9 小时前
Web 状态管理核心技术详解 + JWT 双 Token (Access/Refresh Token) 自动登录
java·网络·jwt·token
Seven979 小时前
剑指offer-57、二叉树的下一个节点
java
hetao17338379 小时前
2025-12-30 hetao1733837 的刷题笔记
c++·笔记·算法
DYS_房东的猫9 小时前
Spring Boot集成华为云OBS实现文件上传与预览功能(含安全下载)
java·spring boot
小袁顶风作案9 小时前
leetcode力扣——27.移除元素、26.删除有序数组的重复项、80.删除有序数组中的重复项 II
数据结构·算法·leetcode