【刷题DAY53】1143, 1035, 53.md

1143. 最长公共子序列

题目链接:https://leetcode.cn/problems/longest-common-subsequence/

0x1 看到题目的第一想法

0x2 自己实现过程中遇到哪些困难

0x3 今日学习的文章链接,或者视频链接

0x4 看完代码随想录之后的想法

  • dp[i][j] 以nums[i-1][j-1]结尾的最长公共子序列的长度
  • if A[i-1] == B[i-1] dp[i][j] = dp[i-1][j-1] + 1
  • if A[i-1] != B[i-1] max(dp[i - 1][j], dp[i][j - 1])
  • dp[0][0] = 0

0x5 今日收获,记录一下自己的学习时长

  • 1h

1035.不相交的线

题目链接:https://leetcode.cn/problems/uncrossed-lines/

0x1 看到题目的第一想法

0x2 自己实现过程中遇到哪些困难

0x3 今日学习的文章链接,或者视频链接

0x4 看完代码随想录之后的想法

  • 等价于 1143

0x5 今日收获,记录一下自己的学习时长

  • 1h

53. 最大子数组和

题目链接:https://leetcode.cn/problems/maximum-subarray/

0x1 看到题目的第一想法

0x2 自己实现过程中遇到哪些困难

0x3 今日学习的文章链接,或者视频链接

0x4 看完代码随想录之后的想法

  • dp[i] 以nums[i]结尾的 最大连续子数组的和
  • p[i] = max(dp[i-1]+1, nums[i])
  • dp[0] = 0

0x5 今日收获,记录一下自己的学习时长

  • 1.5h

总结

  • 最长公共子序列
    • 和最长重复子数组的区别
    • 最长公共子序列不要求连续,但要求相对顺序
  • 不相交的线
  • 最大子序和

复习

  • day30
    • 回溯
      • 重新安排行程
      • N皇后
        • for 循环控制列、递归控制行
        • 合法行判断,不合法就要continue掉

待重点复习

1143,53, 332, 51, 37