【刷题DAY52】300, 674, 718.md

300. 最长递增子序列

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

0x1 看到题目的第一想法

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

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

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

  • dp[i] 以nums[i]结尾的最长递增子序列的长度
  • dp[i] = max(dp[i], dp[j] + 1) j从0到i-1
  • dp[i]的初始化都是1

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

  • 1h

674. 最长连续递增序列

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

0x1 看到题目的第一想法

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

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

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

  • dp[i] 以nums[i]结尾的最长递增子序列的长度
  • if nums[i] > nums[i-1]: dp[i] = max(dp[i], dp[i-1] + 1)
  • dp[i]的初始化都是1

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

  • 1h

718. 最长重复子数组

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

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][i-2] + 1
  • dp[0][0] = 0

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

  • 1.5h

总结

  • 最长递增子序列
  • 最长连续递增序列
  • 最长重复子数组
    • 二维dp

复习

  • day28
    • 回溯
      • 子序列问题
      • 全排列问题
        • 去重
        • used数组

待重点复习

300, 718, 47