Python中最大的数字
假设有一个非负整数列表,我们必须对它们进行排列,使它们形成最大数。因此,如果数组为[10,2],则最大数量为210。
为了解决这个问题,我们将遵循以下步骤-
排列数字时,最重要的数字要比第一个数字大得多,就像这样排列数字。之后,只需加入数组中的数字即可。
示例
让我们看下面的实现以更好地理解-
from functools import cmp_to_key
class Solution(object):
def largestNumber(self, nums):
for i in range(len(nums)):
nums[i] = str(nums[i])
nums.sort(key=cmp_to_key(lambda x,y:self.compare(x,y)))
return "".join(nums).lstrip("0") or "0"
def compare(self,x,y):
if x+y<y+x:
return 1
elif x+y == y+x:
return 0
else:
return -1
ob1 = Solution()print(ob1.largestNumber([3,30,5,6,8]))输入值
[3,30,5,6,8]
输出结果
"865330"