力扣 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];
    }
};
相关推荐
一水鉴天几秒前
整体设计 逻辑系统程序 之27 拼语言整体设计 9 套程序架构优化与核心组件(CNN 改造框架 / Slave/Supervisor/ 数学工具)协同设计
人工智能·算法
小年糕是糕手10 分钟前
【数据结构】双向链表“0”基础知识讲解 + 实战演练
c语言·开发语言·数据结构·c++·学习·算法·链表
将车24416 分钟前
C++实现二叉树搜索树
开发语言·数据结构·c++·笔记·学习
PyHaVolask1 小时前
数据结构与算法分析
数据结构·算法·图论
小王C语言1 小时前
封装红黑树实现mymap和myset
linux·服务器·算法
大佬,救命!!!1 小时前
算法实现迭代2_堆排序
数据结构·python·算法·学习笔记·堆排序
Dream it possible!1 小时前
LeetCode 面试经典 150_栈_简化路径(53_71_C++_中等)(栈+stringstream)
c++·leetcode·面试·
爱和冰阔落2 小时前
【C++继承下】继承与友元 / static 菱形继承与虚继承 组合的详解分析
c++·面试·腾讯云ai代码助手
程序员阿鹏2 小时前
49.字母异位词分组
java·开发语言·leetcode
天桥下的卖艺者2 小时前
R语言手搓一个计算生存分析C指数(C-index)的函数算法
c语言·算法·r语言