难度中等257
输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。
示例 1:
输入:[10,2]
输出: "102"
示例 2:
输入:[3,30,34,5,9]
输出: "3033459"
x+y>y+x ,x,y为str,则x》y
class Solution:
def minNumber(self, nums: List[int]) -> str:
for i in range(len(nums)):
for j in range(len(nums) - 1):
a1 = int(str(nums[j]) + str(nums[j + 1]))
a2 = int(str(nums[j+1]) + str(nums[j ]))
if a1 > a2:
nums[j], nums[j + 1] = nums[j + 1], nums[j]
print(nums[j],nums[j+1])
return "".join(map(str,nums))