思路:
对数组中的元素逐个排序,若int(str(array[i])+str(array[i+1]))>int(str(array[i+1])+str(array[i])),则元素i需要和元素i+1调换位置。像这样依次排序,需要依次将最大元素排到最末尾、倒数第二大元素排到最末尾。。。。
代码实现为:
class Solution:
def PrintMinNumber(self, numbers):
# write code here
if not numbers:
return ''
if len(numbers)==1:
return numbers[0]
flag=len(numbers)
s=len(numbers)
while flag>0:
s-=1
for i in range(s):
if int(str(numbers[i])+str(numbers[i+1]))>int(str(numbers[i+1])+str(numbers[i])):
temp=numbers[i]
numbers[i]=numbers[i+1]
numbers[i+1]=temp
#return numbers
flag-=1
r=int(''.join('%s' %id for id in numbers))
return r