leetcode 1035. 不相交的线

2023.8.25

本题可以转化为:求两数组的最长公共子序列。 进而可以用dp算法解决。 方法类似于这题最长公共子序列 。 代码如下:

cpp 复制代码
class Solution {
public:
    int maxUncrossedLines(vector<int>& nums1, vector<int>& nums2) {
        vector<vector<int>> dp(nums1.size()+1,vector<int>(nums2.size()+1,0));
        for(int i=1; i<=nums1.size(); i++)
        {
            for(int j=1; j<=nums2.size(); j++)
            {
                if(nums1[i-1] == nums2[j-1]) dp[i][j] = dp[i-1][j-1] + 1;
                else dp[i][j] = max(dp[i-1][j] , dp[i][j-1]);
            }
        }
        return dp[nums1.size()][nums2.size()];
    }
};
相关推荐
chao18984420 小时前
电容层析成像Tikhonov算法
算法
会挠头但不秃20 小时前
2.逻辑回归模型
算法·机器学习·逻辑回归
✎ ﹏梦醒͜ღ҉繁华落℘20 小时前
菜鸟的算法基础
java·数据结构·算法
爪哇部落算法小助手20 小时前
每日两题day65
数据结构·c++·算法
麒qiqi21 小时前
【数据结构核心篇】树与哈希(Hash)的原理、特性及实战应用
数据结构·算法·哈希算法
Swift社区21 小时前
LeetCode 443. 压缩字符串
leetcode·职场和发展·蓝桥杯
ada7_21 小时前
LeetCode(python)——543.二叉树的直径
数据结构·python·算法·leetcode·职场和发展
橘颂TA21 小时前
【剑斩OFFER】算法的暴力美学——颜色分类
数据结构·c++·算法·动态规划
吴秋霖21 小时前
profileData纯算逆向分析
算法·设备指纹·反爬虫技术
sprintzer21 小时前
11.26-12.05力扣栈刷题
算法·leetcode·职场和发展