n个数全排列根据正数第m个排列找出倒数第m个排列

题目描述:

题目要求:把1~n的所有排列按字典序排成一排,从中选出一个排列,假设它是正数第m个排列,希望你能回答倒数的第m个排列是什么?
例如1到3的所有排列是:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
若选出的排列是1 2 3,则m=1,而你应该输出的排列是3 2 1.
输入描述:
第一行数字n,表示排列的长度
第二行n个数字,表示选出的排列,1<=n<=300000
输出描述:
一行n个数字,表示所求的排列

完整代码:
n = int(input())
arr = list(map(int, input().split()))

def calc(n, arr):
    result = []
    for i in range(n):
        result.append(str(n + 1 - arr[i]))
    return ' '.join(result)

print(calc(n, arr))


全部评论

相关推荐

程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务