题目描述
给定参数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位置的数字。
用例
输入
3
3
输出 213
说明 3的排列有123,132,213…,那么第三位置就是213
输入
2
2
输出 21
说明 2的排列有12,21,那么第二位置的为21。
解题思路:
- 首先,我们需要计算出n的阶乘,即n!。
- 然后,我们需要判断k是否小于等于n的阶乘除以n-1的阶乘,如果是,说明第k个排列的第一个数字是1,否则,我们需要减去n-1