动态规划算法-两个数组的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];
    }
}
相关推荐
tqs_123452 分钟前
倒排索引数据结构
java·前端·算法
a程序小傲5 分钟前
听说前端又死了?
开发语言·前端·mysql·算法·postgresql·深度优先
副露のmagic6 分钟前
python基础复健
python·算法
饱饱要坚持可持续发展观6 分钟前
SpringBoot 集成 Liquibase
java·spring boot·后端
bclshuai9 分钟前
深度学习算法辅助股票分析
人工智能·深度学习·算法
mit6.82411 分钟前
437贪心
算法
hetao173383711 分钟前
2026-01-19~20 hetao1733837 的刷题笔记
c++·笔记·算法
学Linux的语莫14 分钟前
python项目打包为镜像
java·python·spring
秋刀鱼程序编程32 分钟前
Java编程基础入门(四)---选择循环语句
java·开发语言·算法
一条咸鱼_SaltyFish34 分钟前
WebFlux vs MVC:Gateway集成若依框架的技术选型之争
java·开发语言·微服务·gateway·mvc·开源软件·webflux