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()];
    }
};
相关推荐
m0_591338916 分钟前
day8鹏哥C语言--函数
c语言·开发语言·算法
阿源-7 分钟前
CPP 学习笔记 & 语法总结
嵌入式·cpp
_OP_CHEN10 分钟前
算法基础篇:(二)基础算法之高精度:突破数据极限
算法·acm·算法竞赛·高精度算法·oj题
一只老丸12 分钟前
HOT100题打卡第30天——技巧
算法
西岭千秋雪_17 分钟前
Zookeeper数据结构
java·数据结构·分布式·zookeeper
Bi_BIT23 分钟前
代码随想录训练营打卡Day38| 动态规划part06
算法·动态规划
手握风云-1 小时前
回溯剪枝的“减法艺术”:化解超时危机的 “救命稻草”(三)
算法·剪枝
元亓亓亓1 小时前
LeetCode热题100--46. 全排列--中等
算法·leetcode·职场和发展
墨染点香1 小时前
LeetCode 刷题【146. LRU 缓存】
leetcode·缓存·哈希算法
快手技术1 小时前
从“拦路虎”到“修路工”:基于AhaEdit的广告素材修复
前端·算法·架构