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];
    }
}
相关推荐
花千树-01012 小时前
McpAgentExecutor 混合挂载:HTTP 工具与 NPX 服务器同时接入同一 Agent
java·agent·function call·spring ai·mcp·toolcall·java ai
XiYang-DING13 小时前
【Java】反射
java·开发语言
ACGkaka_13 小时前
JDK 版本管理工具介绍:jenv与sdkman(Mac端)
java·macos·sdkman
阿坤带你走近大数据13 小时前
数据API接口的数据源和目标源分别是什么?怎么设置?
java·python·api
若阳安好13 小时前
【java】任务流批处理平台
java·开发语言
艾莉丝努力练剑13 小时前
【Linux线程】Linux系统多线程(六):<线程同步与互斥>线程同步(上)
java·linux·运维·服务器·c++·学习·线程
好家伙VCC13 小时前
# BERT在中文文本分类中的实战优化:从基础模型到高效部署BERT(Bi
java·人工智能·python·分类·bert
sheeta199813 小时前
LeetCode 每日一题笔记 日期:2026.04.14 题目:2463.最小移动距离
笔记·算法·leetcode
身如柳絮随风扬13 小时前
什么是缓存预热
java·spring·缓存
剑挑星河月13 小时前
55.跳跃游戏
数据结构·算法·leetcode