任意给出几个数,随机组合成最小数,接触这个题最开始的想法,比对每位的大小,然后排列,不过随机数位数不定,创建变量,用for循环计算,复杂度高而且不符合Python大法倔强的性格。后观察讨论区,对比组合之后的数值,效果不错。
class Solution:
def PrintMinNumber(self,numbers)
if not numbers:
return ""
numbers=list(map(str,numbers))
numbers.sort(cmp=lambda x,y:cmp(x+y,y+x))
return "".join(numbers).lstrip('0') or '0'