其他分享
首页 > 其他分享> > 491.递增子序列

491.递增子序列

作者:互联网

文章目录

题目

'''
Description: 491.递增子序列
Autor: 365JHWZGo
Date: 2022-01-06 11:37:01
LastEditors: 365JHWZGo
LastEditTime: 2022-01-06 11:45:55
'''

思路

很常规的思路,大致的代码和子集II类似,不同点在于加了一些条件,比如temp中的元素必须大于2才能加入res,还有元素必须是递增的才能加入到temp中,当然对于一开始temp为空时应该直接加入temp中,其它还是照搬原样。

代码

class Solution(object):
    def findSubsequences(self, nums):
        """
        :type nums: List[int]
        :rtype: List[List[int]]
        """
        res = []
        temp = []
        def backtracking(nums, startIndex):
            if temp not in res and len(temp) >= 2:
                res.append(temp+[])
                
            for i in range(startIndex, len(nums)):
                if len(temp)==0 or nums[i]>=temp[-1]:
                    temp.append(nums[i])
                    backtracking(nums, i+1)
                    temp.pop()
        backtracking(nums, 0)
        return res

运行结果

在这里插入图片描述

总结

通过今天的学习,真正做到了一题解百题,不管你对我怎么样,我对你依旧如初。

标签:01,temp,nums,res,递增,List,序列,491,backtracking
来源: https://blog.csdn.net/qq_44833392/article/details/122340692