[leetcode] 179. Largest Number

网友投稿 660 2022-10-02

[leetcode] 179. Largest Number

[leetcode] 179. Largest Number

Description

Given a list of non negative integers, arrange them such that they form the largest number.

Example 1:

Input: [10,2]Output: "210"

Example 2:

Input: [3,30,34,5,9]Output: "9534330"

Note: The result may be very large, so you need to return a string instead of an integer.

分析

题目的意思是:给你一堆数组,然后把它们排列成一个最大的数。

重写sort函数来排序,然后把排序结果都拼接起来就行了。

代码

class Solution {public: string largestNumber(vector& nums) { string res; sort(nums.begin(),nums.end(),[](int a,int b){ return to_string(a)+to_string(b)> to_string(b)+to_string(a); }); for(int i=0;i

代码二 (python)

用python实现了一个版本,在构建排序的时候需要借助functools.cmp_to_key函数

class Solution: def compare(self,x,y): num1=x+y num2=y+x if(num1num2): return -1 return 0 def largestNumber(self, nums: List[int]) -> str: nums_=sorted(map(str,nums),key=functools.cmp_to_key(self.compare)) # print(nums_) largest_num=''.join(nums_) if(largest_num[0]=='0'): return '0' else: return largest_num

参考文献

​​[LeetCode] Largest Number 最大组合数​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:什么是骨架屏(Skeleton Screen)?(骨架屏什么时候使用)
下一篇:关于easyExcel中读取Excel表头的实例说明
相关文章

 发表评论

暂时没有评论,来抢沙发吧~