Java | Leetcode Java题解之第115题不同的子序列

题目:

题解:

java 复制代码
class Solution {
    public int numDistinct(String s, String t) {
        int m = s.length(), n = t.length();
        if (m < n) {
            return 0;
        }
        int[][] dp = new int[m + 1][n + 1];
        for (int i = 0; i <= m; i++) {
            dp[i][n] = 1;
        }
        for (int i = m - 1; i >= 0; i--) {
            char sChar = s.charAt(i);
            for (int j = n - 1; j >= 0; j--) {
                char tChar = t.charAt(j);
                if (sChar == tChar) {
                    dp[i][j] = dp[i + 1][j + 1] + dp[i + 1][j];
                } else {
                    dp[i][j] = dp[i + 1][j];
                }
            }
        }
        return dp[0][0];
    }
}
相关推荐
sprintzer17 分钟前
1.6-1.15力扣数学刷题
算法·leetcode·职场和发展
Knight_AL22 分钟前
设计模式之责任链模式:原理解析 + Java 示例
java·设计模式·责任链模式
1candobetter24 分钟前
JAVA后端开发——深入理解 Java Static
java·开发语言
踩坑记录27 分钟前
leetcode hot100 53.最大子数组和 动态规划 medium
leetcode·动态规划
一念一花一世界32 分钟前
PostIn项目实战 - 使用Mock数据尽早满足前后端接口开发需求
java·mock·postin·接口管理工具
白露与泡影33 分钟前
Spring事件机制完全指南:解耦利器与实战
java·后端·spring
DYS_房东的猫35 分钟前
《 C++ 零基础入门教程》第10章:C++20 核心特性 —— 编写更现代、更优雅的 C++
java·c++·c++20
好好沉淀35 分钟前
Spring AI Alibaba
java·人工智能·spring
BD_Marathon1 小时前
MyBatis各种查询功能
java·开发语言·mybatis
雪人.1 小时前
Spring常见面试题(2026版30道面试题)
java·后端·spring