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

运行结果

491.递增子序列

总结

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

上一篇:78. Subsets


下一篇:90. 子集 II