动态规划算法-两个数组的dp(含字符串数组):42.不相交的线

题目链接:1035. 不相交的线(中等)

算法原理:

解法:动态规划

与上题完全相同👉 动态规划算法-两个数组的dp(含字符串数组):41.最长公共子序列(模板)

Java代码:

java 复制代码
/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 王洋
 * Date: 2025-10-26
 * Time: 18:15
 */
class Solution {
    //1035. 不相交的线
    //看完算法原理之后自己写的,跟最长公共子序列那个题一摸一样
    //吴小哲也这么写的
    public int maxUncrossedLines(int[] s1, int[] s2) {
        int m=s1.length,n=s2.length;
        int[][] dp=new int[m+1][n+1];
        for(int i=1;i<=m;i++){
            for(int j=1;j<=n;j++){
                //注意下标的映射关系
                if(s1[i-1]==s2[j-1]) dp[i][j]=dp[i-1][j-1]+1;
                else dp[i][j]=Math.max(dp[i-1][j],dp[i][j-1]);
            }
        }
        return dp[m][n];
    }
}
相关推荐
君义_noip1 天前
信息学奥赛一本通 1661:有趣的数列 | 洛谷 P3200 [HNOI2009] 有趣的数列
c++·算法·组合数学·信息学奥赛·csp-s
程序员:钧念1 天前
深度学习与强化学习的区别
人工智能·python·深度学习·算法·transformer·rag
英英_1 天前
MATLAB数值计算基础教程
数据结构·算法·matlab
一起养小猫1 天前
LeetCode100天Day14-轮转数组与买卖股票最佳时机
算法·leetcode·职场和发展
hele_two1 天前
快速幂算法
c++·python·算法
kk哥88991 天前
如何快速掌握JavaSE的核心语法?
java
我是一只小青蛙8881 天前
AVL树:平衡二叉搜索树原理与C++实战
java·jvm·面试
浩瀚地学1 天前
【Java】JDK8的一些新特性
java·开发语言·经验分享·笔记·学习
l1t1 天前
利用DeepSeek将python DLX求解数独程序格式化并改成3.x版本
开发语言·python·算法·数独