class Solution {
public:
vector<vector<int>>ans;
vector<int>path;
void dfs(vector<int>& nums,int star){
if(path.size()>1){
ans.push_back(path);
}
set<int>st;
for(int i=star;i<nums.size();i++){
if(st.count(nums[i])||(path.size()!=0&&nums[i]<path.back()))continue;
path.push_back(nums[i]);
st.insert(nums[i]);
dfs(nums,i+1);
path.pop_back();
}
}
vector<vector<int>> findSubsequences(vector<int>& nums) {
dfs(nums,0);
return ans;
}
};
491. 递增子序列
最新推荐文章于 2024-09-13 19:36:07 发布
本文介绍了一个名为Solution的类,其中包含一个深度优先搜索方法dfs,用于在给定整数数组中找到所有可能的子序列。该方法通过递归实现,从数组的第一个元素开始,寻找不重复的子序列并存储结果。
摘要由CSDN通过智能技术生成