思路:
对数组中的元素逐个排序,若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
这篇博客介绍了如何使用Python对一个正整数数组进行操作,通过比较和排序数组元素,将它们拼接成不同的数字,并找出其中最小的那个数字。博主提供了一种逐个比较并调整元素顺序的方法,最终将最大的元素移动到末尾,从而得到最小的拼接结果。
2058

被折叠的 条评论
为什么被折叠?



