题面描述
给定参数n,从1到n会有n个整数:1,2,3......n。这n个数字共有n!种排列。我们需要按大小顺序升序列出所有排列的情况,并一一标记。给定n和k,返回第k个排列。
解题思路
- 排列生成的性质:
- 任何n的排列都可以通过固定某个数字,剩余的数字再进行全排列来生成。
- 比如,对于n=3,固定数字1,则其余2的排列为2,3。
P3063.第k个排列(100分)
题目内容
给定参数 n,从 1 到 n 会有 n 个整数:1,2,3,…,n, 这 n 个数字共有 n! 种排列。
按大小顺序升序列出所有排列的情况,并一一标记,当 n = 3 时,所有排列如下:
- “123”
- “132”
- “213”
- “231”
- “312”
- “321”
给定 n 和 k,返回第 k 个排列。
输入描述
输入两行,第一行为 n,第二行为 k,
给定 n 的范围是[1,9], 给定 k 的范围是[1,n!]。
输出描述
输出排在第 k 位置的数字。
样例1
输入
3
3
输出
213
说明
3的排列有123,132,213,…,那么第三位置就是213
样例2
输入
2
2
输出
21
说明
2的排列有12,21,那么第二位置的为21。