动态规划算法-两个数组的dp(含字符串数组):41.最长公共子序列(模板)

题目链接:1143. 最长公共子序列(中等)

算法原理:

解法:动态规划

Java代码:

java 复制代码
/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 王洋
 * Date: 2025-10-26
 * Time: 17:12
 */
class Solution {
    //1143. 最长公共子序列(模板题)
    //看完算法原理自己写的," "没注意要加空格,另外i和j要从1开始,别的就没啥问题了
    //跟吴小哲写的一样
    public int longestCommonSubsequence(String s1, String s2) {
        int m=s1.length(),n=s2.length();
        s1=" "+s1;s2=" "+s2;
        int[][] dp=new int[m+1][n+1];
        for(int i=1;i<=m;i++){
            for(int j=1;j<=n;j++){
                if(s1.charAt(i)==s2.charAt(j)) dp[i][j]=dp[i-1][j-1]+1;
                else dp[i][j]=Math.max(dp[i][j-1],dp[i-1][j]);
            }
        }
        return dp[m][n];
    }
}
相关推荐
mldong37 分钟前
零依赖的秘密:8 大 SPI 设计
java·架构
203号居民2 小时前
LeetCode hot 100 —41. 缺失的第一个正数
数据结构·算法·leetcode
Diligently_3 小时前
Anolis 系统更新与密码设置&磁盘扩容
java·后端·spring
mqiqe3 小时前
线程调度与 Schedulers:Project Reactor 并发模型的核心引擎
java·开发语言·网络
我命由我123453 小时前
Android 开发问题:unexpected element <service> found in <manifest>
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
正在走向自律3 小时前
飞算JavaAI能搞定充电站故障处置吗?
java·ai编程·java开发·飞算javaai·java代码生成·ai coding模型·springboo
用户40966601317513 小时前
Guava 不止有 Lists 和 Maps:Cache、EventBus、Multimap 实战
java·后端
专注仿真4 小时前
问答大模型技术方案算法实现-熵权法融合算法 + 交叉编码器重排算法
人工智能·python·算法·语言模型·问答大模型关键算法·熵权融合算法·交叉编码器重排算法
一只叫煤球的猫4 小时前
从 Java 21 到 Java 25:ThreadLocal 以外的选择—— ScopedValue
java·后端·架构