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()];
    }
};
相关推荐
慢半拍iii5 分钟前
数据结构——D/串
c语言·开发语言·数据结构·c++
怀旧,6 分钟前
【数据结构】5. 双向链表
数据结构·windows·链表
王景程6 分钟前
什么是哈希函数
算法·哈希算法
会不再投降21914 分钟前
《算法复杂度:数据结构世界里的“速度与激情”》
数据结构·算法
vvilkim14 分钟前
深入解析 Pandas 核心数据结构:Series 与 DataFrame
数据结构·pandas
Frankabcdefgh1 小时前
Python基础数据类型与运算符全面解析
开发语言·数据结构·python·面试
kaiaaaa1 小时前
算法训练第十五天
开发语言·python·算法
Coovally AI模型快速验证1 小时前
SLAM3R:基于单目视频的实时密集3D场景重建
神经网络·算法·3d·目标跟踪·音视频
Once_day2 小时前
代码训练LeetCode(29)最后一个单词的长度
算法·leetcode·c
凌肖战2 小时前
力扣上C语言编程题:最大子数组和(涉及数组)
c语言·算法·leetcode