Largest Number

来源:互联网 发布:dk系列图书 知乎 编辑:程序博客网 时间:2024/06/10 00:16

Largest Number

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.

Credits:
Special thanks to @ts for adding this problem and creating all test cases.

提示:

只要新定义一种数字比较方法即可

其实利用python将数字全转换成字符串,处理更简单

(字符串的比较可以非常简单)


代码:

class Solution:    # @param num, a list of integers    # @return a string    def largestNumber(self, num):        s = [str(nn) for nn in num]        nlen = len(num)        for j in range(nlen-1):            for i in range(nlen-1, j, -1):                if s[i-1]+s[i] < s[i]+s[i-1]:                    s[i], s[i-1] = s[i-1], s[i]        ans = "".join(s)        if ans[0] == "0": return "0"        return ans


0 0
原创粉丝点击