如标题,例如 [675,23,10],组成最小数是1023675。可以用冒泡的思想,首先比较第一个元素675与23的组成,67523>23675,所以交换23和675,变为[23,675,10],;再比较675和10(始终让组成后大的元素靠后),变为[23,10,675];继续比较2310和1023,交换,变为[10,23,675],排序完成。
python实现:
alist = [675,23,10,11,1,2,3,88]
def bulid_min(alist):
s = ''
for j in range(len(alist)-1,0,-1):
for i in range(j):
if int(str(alist[i]) + str(alist[i+1])) > int(str(alist[i+1]) + str(alist[i])):
alist[i],alist[i+1] = alist[i+1],alist[i]
for i in alist:
s += str(i)
return int(s)
print(bulid_min(alist))