DP之最长上升子序列

    技术2025-12-14  5

    最长上升子序列

    def lengthOfLIS(self, nums): # 处理特殊情况 if len(nums) <= 1: return len(nums) # 保存 该元素之前 的 最大上升子序列的长度 mem = [1 for _ in range(len(nums))] for j in range(1, len(nums)): # 前面的元素都要遍历一遍 for i in range(j): # 小于的话表明本元素可以与i号元素连成上升序列 if nums[i] < nums[j]: # 最大的保存下来(状态转移方程) mem[j] = max(mem[j], mem[i] + 1) return max(mem)
    Processed: 0.015, SQL: 10