8.15 - hard - 51

273. Integer to English Words
这道题有点考基本功的意思, 大概提交了四五次AC了,还是有点成就感的

class Solution(object):
    def numberToWords(self, num):
        """
        :type num: int
        :rtype: str
        """
        self.h = ["Thousand", "Million", "Billion"]
        if num == 0:
            return "Zero"
        #if 
        return " ".join(self.dfs(num, 0))
    
    def dfs(self, num, counter):
        new = num % 1000
        num = num / 1000
        if num > 0:
            if new > 0:
                if num % 1000:
                    return self.dfs(num, counter+1) + [self.h[counter]] + self.say(new)
                else:
                    return self.dfs(num, counter+1) + self.say(new)
            else:
                val = self.dfs(num, counter+1)
                if num % 1000:
                    return val + [self.h[counter]]
                else:
                    return val
        else:
            return self.say(new)
    
    def say(self, num): # deal with number less than 1000
        m = {1: "One",
             2: "Two",
             3: "Three",
             4: "Four",
             5: "Five",
             6: "Six",
             7: "Seven",
             8: "Eight",
             9: "Nine",
             10: "Ten",
             11: "Eleven",
             12: "Twelve",
             13: "Thirteen",
             14: "Fourteen",
             15: "Fifteen",
             16: "Sixteen",
             17: "Seventeen",
             18: "Eighteen",
             19: "Nineteen",
             20: "Twenty",
             30: "Thirty",
             40: "Forty",
             50: "Fifty",
             60: "Sixty",
             70: "Seventy",
             80: "Eighty",
             90: "Ninety"
            }
        hundred = num / 100
        res = []
        if hundred:
            res += [m[hundred],  "Hundred"]
        left = num % 100
        if left > 0:
            if left in m:
                res += [m[left]]
            else:
                res += [m[left/10*10], m[left%10]]
        return res
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,357评论 0 33
  • The Last Question 最后的问题 By Isaac Asimov 阿西莫夫 This is by f...
    beyond_cosmos阅读 4,449评论 0 8
  • 文/羽恬 爱情是什么 我们一直在追逐 一年四季,从未停歇 春天 我们站在长城之巅许下誓言 爱情发了芽 在那万里崎岖...
    只为三餐阅读 1,495评论 0 0
  • 一个出色的产品一定是具有某些特质的。这种门槛在日常的工作要求中也许显露并不明显,但是忽略这些特质的产品经理一定会慢...
    yeemoon阅读 3,759评论 2 11
  • 蒋欣说演了樊胜美,居然有一些观众她捐款。。。这个被亲情绑架的角色如此真实的而接地气。角色投射到生活中,也不乏这样的...
    luckystar_d212阅读 3,081评论 0 1

友情链接更多精彩内容