方法:递归+哈希查重
视频题解: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]))