largest number
来源:互联网 发布:linux查系统配置 编辑:程序博客网 时间:2024/06/11 03:58
Given a list of non negative integers, arrange them such that they form the largest number.
For example, given [3, 30, 34, 5, 9]
, the largest formed number is9534330
.
Note: The result may be very large, so you need to return a string instead of an integer.
题意: 给出一个数字组成的数组list,要求得出由各个数字拼接成的最大数字。
重写sort内置的比较方法即可,将两个数字进行比较,首先两个数字转换成字符串拼接起来,比较a+b, b+a 哪一个的数值大,然后返回递减序列。
在python中有a.sort() 和 sorted()方法,在这里则是将sorted中的 cmp重写,创建了一个自定义的strcmp函数,对数字进行比较
class Solution: # @param {integer[]} nums # @return {string} def largestNumber(self, nums): def strcmp(a,b): # if a<b: return 1, this return the descending order. a = str(a) b = str(b) ab = int(a+b) ba = int(b+a) if ab<ba: return 1 elif ab>ba: return -1 else: return 0 res = sorted(nums,cmp=strcmp) num = len(res) if res[0]==0: return str(0) temp = str(res[0]) i = 1 while i<num: temp += str(res[i]) i += 1 #res = ''.join(res) return temp
阅读全文
0 0
- Largest Number
- Largest Number
- Largest Number
- Largest Number
- Largest Number
- Largest Number
- Largest Number
- Largest Number
- Largest Number
- Largest Number
- Largest Number
- Largest Number
- Largest Number
- Largest Number
- Largest Number
- Largest Number
- Largest Number
- Largest Number
- Travel(两点之间求路的旅行)
- 向上转型作用于泛型
- c++11新标准 decltype
- [vijos 1333]Cantor表
- 动态设置rem
- largest number
- dll和lib区别联系
- 斐波那契数列的第N项(矩阵快速幂模板)
- 最长递增子序列 (dp)
- apk减小最好用的最实际的操作
- 自定义SeekBar分段显示并填充数据pop显示当前选中位置
- java.net.BindException: 地址已在使用
- 常用PHP array数组函数
- [RevitSDK解读]UIAPI->PreviewModel:在自己的界面显示Revit视图