Python 中的最大数字

pythonserver side programmingprogramming更新于 2025/10/25 22:36:17

假设有一个非负整数列表,我们必须将它们排列成最大数字。因此,如果数组为 [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"

相关文章


有用资源