打卡题目:leetcode第300题,最长上升子序列
    相似题目:368、673
    image.png


    【代码】

    1. class Solution:
    2. def lengthOfLIS(self, nums: List[int]) -> int:
    3. if len(nums) < 2:
    4. return len(nums)
    5. # nums[i] > nums[j]时,dp[i] = max(dp[i], dp[j] + 1)
    6. dp = [1] * len(nums)
    7. for i in range(len(nums)):
    8. for j in range(i - 1, -1, -1):
    9. if nums[i] > nums[j]:
    10. dp[i] = max(dp[i], dp[j] + 1)
    11. return max(dp)