#2144. 生成递增子序列

生成递增子序列

生成递增子序列

题目描述 给定一个长度为 n 的数组,输出所有可能的递增子序列,每个子序列的长度至少为 2,并按字典序排列。

输入格式 第一行一个正整数 n,第二行是 n 个整数,表示数组元素。

输出格式 输出所有递增子序列,每个子序列一行,数字之间有一个空格。

测试数据


输入样例
4
1 2 3 4
输出样例
1 2
1 2 3
1 2 3 4
1 3
1 3 4
1 4
2 3
2 3 4
2 4
3 4

解题思路

  • 使用递归法生成所有递增子序列。
  • 用一个数组 current 记录当前子序列,一个变量 current_length 记录当前子序列的长度。
  • 每次递归时,从当前位置开始,尝试加入数组中的元素,只要该元素大于或等于子序列最后一个元素,就递归地生成新的子序列。
  • 当生成的子序列长度大于等于 2 时,输出该子序列。