[LeetCode By Python] 179.Largest Number

一、题目

Largest Number

二、解题

关键点就在于,如何对比两个数的大小?(理解为两个数谁应该放在前面),解法是按照顺序拼接两个字母串进行比较,如果a +b串 大于 b+a串,那么a比较大(即题意中理解的a应该放在前面),反之b比较大。

三、尝试与结果

class Solution:
    def smaller(self,a,b):
        strA = str(a) + str(b)
        strB = str(b) + str(a)
        if strA > strB :
            return False
        else:
            return True

    def largestNumber(self, nums):
        resultStr = ""
        for i in range(0,len(nums)):
            for j in range(i,len(nums)):
                if self.smaller(nums[i],nums[j]):
                    temp = nums[i]
                    nums[i] = nums[j]
                    nums[j] = temp
        for i in nums:
            resultStr = resultStr + str(i)
        if (resultStr[0]=='0'):
            return '0'
        return resultStr

结果:AC

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容