解题步骤:
参考代码:
- class Solution {
- public:
- int maxUncrossedLines(vector<int>& nums1, vector<int>& nums2) {
- int m=nums1.size();
- int n=nums2.size();
- vector
int>> dp(m+1,vector<int>(n+1)); - for(int i=1;i<=m;i++)
- {
- for(int j=1;j<=n;j++)
- {
- //注意是i-1和j-1
- 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[m][n];
- }
- };
你学会了吗???