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"
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP