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()];
    }
};
相关推荐
handler015 分钟前
算法:Trie树(字典树)
c语言·数据结构·c++·笔记·算法·深度优先
ZPC82107 分钟前
PPO (Proximal Policy Optimization) 算法模块详细拆解
人工智能·pytorch·算法·机器人
6+h10 分钟前
【Redis】数据结构讲解
数据结构·数据库·redis
阿Y加油吧10 分钟前
力扣打卡day06——滑动窗口最大值、最小覆盖子串
数据结构·算法·leetcode
沉鱼.4411 分钟前
日期题目集
数据结构·算法
Book思议-19 分钟前
【数据结构考研真题】链表题
c语言·数据结构·算法·链表·408·计算机考研
lifallen19 分钟前
从零推导一个现代 ReAct Agent框架
人工智能·算法·语言模型
⁤⁢初遇20 分钟前
数据结构---排序
数据结构·算法·排序算法
2401_8463416523 分钟前
C++动态链接库开发
开发语言·c++·算法
ZPC821032 分钟前
【无标题】
人工智能·pytorch·算法·机器人