Uriel's Corner

Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
posts - 0, comments - 50, trackbacks - 0, articles - 594
阿拉伯数字转罗马字符,简单字符串处理,用了python的dict
 1 #12
 2 #Runtime: 59 ms
 3 #Memory Usage: 13.2 MB
 4 
 5 class Solution(object):
 6     def intToRoman(self, num):
 7         """
 8         :type num: int
 9         :rtype: str
10         """
11         dict = {1 : 'I'5 : 'V'10 : 'X'50 : 'L'100 : 'C'500 : 'D'1000 : 'M'}
12         nt = 1
13         ans = []
14         while num > 0:
15             tp = num % 10
16             if tp == 4:
17                 ans.append(dict[nt] + dict[5*nt])
18             elif tp == 9:
19                 ans.append(dict[nt] + dict[10*nt])
20             elif tp < 4 and tp > 0:
21                 ans.append(dict[nt] * tp)
22             elif tp >= 5:
23                 ans.append(dict[5*nt] + dict[nt] * (tp - 5))
24             num = num // 10
25             nt = nt * 10
26         ans.reverse()
27         return ''.join(ans)

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理