码迷,mamicode.com
首页 > 其他好文 > 详细

最大整数

时间:2016-04-20 15:02:11      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

设有n个正整数,将他们连接成一排,组成一个最大的多位整数.
例如:3个整数13,312,343,连成的最大整数为:34331213
又如:4个整数7,13,4,246连接成的最大整数为7424613
现在给你一个正整数列表L,请你输出用这些正整数能够拼接成的最大整数。
# -*- coding: UTF-8 -*-
L = [7, 13, 4, 13, 246]
for j in xrange(len(L)-1):
    for i in xrange(len(L)-j-1):
        if int(str(L[i])+str(L[i+1])) < int(str(L[i+1])+str(L[i])):
            #上面的一行是:转成字符串相加,再转成整形比较大小
            L[i], L[i+1] = L[i+1], L[i]
    n_L = [str(i) for i in L]#转成字符串输出
print ‘‘.join(n_L)

这个题,我是一个个比较的,第一个第二个转成字符串相加,再转成整形比较。

比如:7,13:变成713和137比较。713大就保持7,13这样的排序。

外层加一个循环,每次一外层循坏就把一个最小的放在相对应的最后。

第一次循环把13放在最后,第二次循环把246放在倒数第二。

就这样。

最大整数

标签:

原文地址:http://www.cnblogs.com/webgavin/p/5412669.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!