动态规划算法-两个数组的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];
    }
}
相关推荐
阿正的梦工坊7 小时前
FlowBench论文阅读:Workflow-Guided Planning for LLM-based Agents
人工智能·算法·大模型·llm
2401_860494707 小时前
在React Native鸿蒙跨平台开发中实现一个基数排序算法,如何进行找到最大数:遍历数组找到最大值呢?
javascript·算法·react native·react.js·排序算法·harmonyos
凌波粒7 小时前
Springboot基础教程(8)--Shiro
java·spring boot·后端
Watermelo6177 小时前
如何优雅地导出 VS Code 项目目录结构
前端·javascript·vue.js·vscode·算法·性能优化·node.js
dzl843947 小时前
springboot脚手架备忘
java
飞Link7 小时前
【算法与模型】One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验
人工智能·python·算法·机器学习·支持向量机
feathered-feathered7 小时前
网络套接字——Socket网络编程(TCP编程详解)
java·网络·后端·网络协议·tcp/ip
路边草随风9 小时前
java实现发布spark yarn作业
java·spark·yarn
MicroTech20259 小时前
MLGO微算法科技发布突破性运动想象脑机接口算法,高精度与低复杂度兼得
科技·算法