【华为OD机试 】第k个排列(C++ Java JavaScript Python)

华为od机试共有3道题,分值为100+100+200,总分为400分。考试时间 2.5h。。每道题目都需要通过测试用例来得分,全通过则为满分。华为od机试是在牛客网上进行的,采用ACM模式。华为od机试目标院校分数为160分,华为od机试非目标院校,则至少300+ 华为od机试会考到很多原题。对于算法较差的同学,建议购买。 包含2023的华为od机试最新题库以及2022的华为od机试老题库,所有题目都提供了使用C++ Java JavaScript 以及python实现详细的解法。

题目描述

给定参数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
经验分享 程序员 微信小程序 职场和发展