491.递增子序
题目链接:. - 力扣(LeetCode)
讲解视频:
回溯算法精讲,树层去重与树枝去重 | LeetCode:491.递增子序列
题目描述:
给你一个整数数组 nums
,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。
数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。
示例 1:
输入:nums = [4,6,7,7] 输出:[[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6,7,7],[7,7]]
示例 2:
输入:nums = [4,4,3,2,1] 输出:[[4,4]]
解题思路:
本题求自增子序列,是不能对原数组进行排序的。所以不能使用前几次题目的去重逻辑!
使用unordered_set<int> hash进行去重,且回溯时不进行pop操作;且