代码随想录刷题day29

题目:递归子序列
题解:
代码:
class Solution(object):
    def findSubsequences(self, nums):
        """
        :type nums: List[int]
        :rtype: List[List[int]]
        """
        res = []
        temp = []

      
        if not nums:
            return res
        def backtracking(nums, startIndex):
            if len(temp) >= 2 :
                res.append(temp[:])
      
            # 深度遍历中每一层都会有一个全新的usage_list用于记录本层元素是否重复使用
            usage_list = set()
            for i in range(startIndex, len(nums)):
            
                if ( temp and nums[i] < temp[-1]) or nums[i] in usage_list:
                    continue
                usage_list.add(nums[i])
                temp.append(nums[i])
                backtracking(nums, i+ 1)
                temp.pop()
        backtracking(nums, 0)
        print(res)
        return res
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值