码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode 罗马数字与整数互转

时间:2020-05-10 18:57:07      阅读:55      评论:0      收藏:0      [点我收藏+]

标签:elf   http   etc   href   int   turn   罗马数字   return   iii   

leetcode 13.罗马数字转整数

class Solution(object):
    def romanToInt(self, s):
        res = 0
        roman = dict(I=1, V=5, X=10, L=50, C=100, D=500, M=1000)
        for i in range(len(s)-1):
            if roman.get(s[i])>=roman.get(s[i+1]):
                res += roman.get(s[i])
            else:
                res -= roman.get(s[i])
        res += roman.get(s[len(s)-1])
        return res
# 求解
s = Solution()
s.romanToInt(‘LVIII‘)
# return
58

leetcode 12.整数转罗马数字

class Solution(object):
    def intToRoman(self, num):
        rules = (
            (‘M‘, 1000),
            (‘CM‘, 900), (‘D‘, 500), (‘CD‘, 400), (‘C‘, 100),
            (‘XC‘, 90), (‘L‘, 50), (‘XL‘, 40), (‘X‘, 10),
            (‘IX‘, 9), (‘V‘, 5), (‘IV‘, 4), (‘I‘, 1),
            )
        res = []
        for roman, dec in rules:
            res.extend([roman]*(num//dec))
            num = num%dec
        return ‘‘.join(res)
# 求解
s = Solution()
s.intToRoman(1994)
# return
‘MCMXCIV‘

leetcode 罗马数字与整数互转

标签:elf   http   etc   href   int   turn   罗马数字   return   iii   

原文地址:https://www.cnblogs.com/yutingting/p/12738434.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!