dp[i] 表示以 nums[i] 这个数结尾的最长递增子序列的长度

    1. var lengthOfLIS = function(nums) {
    2. var len = nums.length
    3. if (len == 0) {
    4. return 0;
    5. }
    6. var dp = Array(len).fill(1)
    7. var max = 1
    8. // dp[i]: 以i结尾的最长递增子系列
    9. for (var i = 1; i < len; i++) {
    10. // 遍历i之前的元素,找到可以添加到以i结尾子系列中
    11. for (var j = i-1; j >= 0; j--) {
    12. if (nums[i] > nums[j]) {
    13. dp[i] = Math.max(dp[i], dp[j] + 1)
    14. }
    15. }
    16. max = Math.max(max, dp[i])
    17. }
    18. return max
    19. };

    https://leetcode-cn.com/problems/longest-increasing-subsequence/solution/yi-bu-yi-bu-tui-dao-chu-guan-fang-zui-you-jie-fa-x/