CodeACM
HOT 100 · 回溯 · LC 46

全排列:ACM 模式刷题

按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。

题目描述

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。

输入格式

第一行输入 n,第二行输入 n 个互不相同的整数。

输出格式

第一行输出排列数量 m。

接下来 m 行输出排列,所有排列按字典序升序排列。

数据范围

  • 1 ≤ n ≤ 8
  • −10 ≤ nums[i] ≤ 10

公开样例

样例 1

输入

3
1 2 3

输出

6
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1

三个不同数字共有 3! 种排列。

样例 2

输入

1
0

输出

1
0

单个元素只有一种排列。

练习建议

先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。