题目描述
设有n个正整数,将他们连接成一排,组成一个最大的多位整数。
如:n=3时,3个整数13,312,343,连成的最大整数为34331213。
如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。
输入描述:
有多组测试样例,每组测试样例包含两行,第一行为一个整数N(N<=100),第二行包含N个数(每个数不超过1000,空格分开)。
输出描述:
每组数据输出一个表示最大的整数。
Python解法
# -*- coding:utf8 -*-
import sys
def str_cmp(str_a='', str_b=''):
if int(str_a + str_b) >= int(str_b + str_a):
return 1
else:
return -1
def sort_str(data_list, num):
for i in range(0, num):
for j in range(i + 1, num):
if str_cmp(data_list[i], data_list[j]) >= 0:
continue
else:
data_list[i], data_list[j] = data_list[j], data_list[i]
if __name__ == '__main__':
n = sys.stdin.readline().strip()
str_list = sys.stdin.readline().strip().split(' ')
sort_str(str_list, int(n))
print(''.join(str_list))