Advertisement

问题 G: 最大值 python

阅读量:

题目描述

给定n个正整数(n≤20),将这些数字依次排列组合,形成一个数值最大的多位整数。例如,当n=3时,由13、312、343这三个数字排列后可得到的最大数值为:34331213。再如,当n=4时,由7、13、4、246这四个数字组合后所形成的最大整数为:7424613

输入

输入格式具体描述为:首行应为一个正整数n,次行则包含n个正整数,各数值之间以空格作为分隔符。

小标题

将n个数值串联后形成的最大整数

样例输入 Copy

3
13 312 343

样例输出 Copy

34331213

题解如下

复制代码
    from functools import cmp_to_key
    n = int(input())
    ls= list(input().split())
    #排序 两个字符串a,b相加后得到的数哪个大哪个在前
    ls.sort(key= cmp_to_key(lambda a,b : int(b+a)-int(a+b)))
    print("".join(ls))
    
    
    AI写代码python
    
    运行

全部评论 (0)

还没有任何评论哟~