力扣 1035. 不相交的线

题目来源:https://leetcode.cn/problems/uncrossed-lines/description/

C++题解:经过细细一推导,就发现跟力扣 1143. 最长公共子序列-CSDN博客 换汤不换药。

直线不能相交,说明元素顺序不能改变,求可以绘制的最大连线数,即最长公共子序列。

cpp 复制代码
class Solution {
public:
    int maxUncrossedLines(vector<int>& nums1, vector<int>& nums2) {

        int n1 = nums1.size(), n2 = nums2.size();
        vector<vector<int>> dp(n1+1, vector<int>(n2+1, 0));
        for(int i = 0; i < n1; i++){
            for(int j = 0; j < n2; j++) {
                if(nums1[i] == nums2[j]) {
                    dp[i+1][j+1] = dp[i][j]+1;
                }
                else {
                    dp[i+1][j+1] = max(dp[i][j+1], dp[i+1][j]);
                }
            }
        }
        return dp[n1][n2];
    }
};
相关推荐
疯狂的喵13 小时前
C++编译期多态实现
开发语言·c++·算法
scx2013100413 小时前
20260129LCA总结
算法·深度优先·图论
2301_7657031413 小时前
C++中的协程编程
开发语言·c++·算法
m0_7487080513 小时前
实时数据压缩库
开发语言·c++·算法
小魏每天都学习13 小时前
【算法——c/c++]
c语言·c++·算法
智码未来学堂14 小时前
探秘 C 语言算法之枚举:解锁解题新思路
c语言·数据结构·算法
Halo_tjn14 小时前
基于封装的专项 知识点
java·前端·python·算法
春日见14 小时前
如何避免代码冲突,拉取分支
linux·人工智能·算法·机器学习·自动驾驶
副露のmagic14 小时前
更弱智的算法学习 day59
算法
m0_7482331715 小时前
30秒掌握C++核心精髓
开发语言·c++