首页 > 编程语言 > 详细

leetcode-python-罗马数字转整数

时间:2021-06-10 15:21:47      阅读:23      评论:0      收藏:0      [点我收藏+]

1)倒序计算,如果结果大于标准数四倍,则超出,需要减去。空间复杂度大

class Solution:
    def romanToInt(self, s: str) -> int:
        roman_num = {I:1, V:5, X:10, L:50, C:100, D:500, M:1000}
        result = 0
        for i in range(len(s)-1,-1,-1):
            if result > 4*roman_num[s[i]]:
                result -= roman_num[s[i]]
            else:
                result += roman_num[s[i]]
        return result

2)构造完整数表,逐个寻找。如果两个连续罗马数字存在于表内,则一同取出。i+=2

leetcode-python-罗马数字转整数

原文:https://www.cnblogs.com/cbachen/p/14871045.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!