一、题目
![在这里插入图片描述](https://img-blog.csdnimg.cn/13aaecffae114383ba89173c9402958f.png)
二、代码
class Solution
{
public:
vector<vector<int>> return_vector;
vector<int> path;
bool is_increase(vector<int> judge_vector)
{
int i;
bool result=1;
for(i=1;i<judge_vector.size();i++)
{
if(judge_vector[i]<judge_vector[i-1])
{
result=0;
break;
}
}
return result;
}
void back_track(int start_point,vector<int>& nums)
{
int i,j;
if(path.size()>=2&&is_increase(path)) return_vector.push_back(path);
for(i=start_point;i<nums.size();i++)
{
if(i!=start_point)
{
int continue_flag=0;
int temp_num_for_crop;
temp_num_for_crop=nums[i];
for(j=start_point;j<i;j++)
{
if(nums[j]==temp_num_for_crop)
{
continue_flag=1;
break;
}
}
if(continue_flag==1) continue;
}
path.push_back(nums[i]);
back_track(i+1,nums);
path.pop_back();
}
}
vector<vector<int>> findSubsequences(vector<int>& nums)
{
return_vector.clear();
path.clear();
back_track(0,nums);
return return_vector;
}
};
三、运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/85618fda198443639fac94ad895c1bc1.png)