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];
    }
}
相关推荐
Rain的Java大神之路5 分钟前
如何避免订单重复提交
java·redis·后端·面试·架构·rabbitmq·rocketmq
ps酷教程43 分钟前
解析自定义数据
java
wuminyu44 分钟前
JDK21中FFM api的upcall回调机制解析
java·linux·c语言·jvm·c++
桦说编程1 小时前
深入理解 FutureTask 状态机——从契约到实现
java·后端·性能优化
松仔log1 小时前
Kotlin中级——协程
java·jvm·kotlin
wifi___6 小时前
全局异常处理的原理
java·开发语言
To_OC9 小时前
LC 239 滑动窗口最大值:从暴力超时到单调队列一遍过
javascript·算法·leetcode
2601_9638702010 小时前
【计算机毕业设计】基于Spring Boot的专科医院医疗管理系统
java·spring boot·课程设计
Bingo_BIG10 小时前
Java Spring 批量修改,实体、接口、方法的定义
java·spring