首页 > 其他 > 详细

最大整数

时间:2016-04-20 15:00:45      阅读:239      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!