力扣每日打卡8月25日打卡(491. 递增子序列,中等)未做出,看懂

在这里插入图片描述
方法:递归+哈希查重
视频题解:https://leetcode-cn.com/problems/increasing-subsequences/solution/gua-he-xin-shou-de-shi-pin-jiang-jie-by-sheldonx-4/

class Solution:
    def findSubsequences(self, nums: List[int]) -> List[List[int]]:
        # res数组存放最后答案
        res = []
        # 定义递归函数
        def search(prev, last):
            if len(prev) >= 2:
                res.append(prev)
            compair = prev[-1]
            for i in range(len(last)):
                if last[i] >= compair:
                    search(prev + [last[i]], last[i + 1:])
        for j in range(len(nums)):
            search([nums[j]], nums[j + 1:]) # 要为列表[nums[j]]
            # 哈希去重
            # list[list[int]]
            # list[tuple(int)]
            # 但只能tuple一层 tuple[3, [2]] --> (3, [2])
        return list(set([tuple(i) for i in res]))

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值