讨论/题目交流/给一个数字,找出能组成的最大数? 比如123465,组成最大的数654321;/
给一个数字,找出能组成的最大数? 比如123465,组成最大的数654321;

求一道题目的做法:给一个数字,找出能组成的最大数? 比如123465,组成最大的数654321;
这道题,我的想法是:
1、for循环将数字一个个取出,组成数组;
2、将数组排序(或者二分查找到index,插入index)
3、再for循环将数组组成数字;

这样是不是太麻烦了,有没有更好的方法

from collections import Counter

getMax = lambda num: int(''.join(
    i * t 
    for i, t in sorted(
        Counter(str(num)).items(), 
        reverse=True
    )
))
展开全部 4 讨论