leetcode——13. 罗马数字转整数

我们两清 提交于 2019-12-01 16:27:18
class Solution:
    def romanToInt(self, s: str) -> int:
        memo={'I':1,'IV':4,'V':5,'IX':9,'X':10,'XL':40,'L':50,'XC':90,'C':100,'CD':400,'D':500,'CM':900,'M':1000}
        i=0
        v=0
        while i<len(s):
            if i<len(s)-1 and s[i] in ['I','X','C']:
                if s[i:i+2] in ['IV','IX','XL','XC','CD','CM']:
                    v+=memo[s[i:i+2]]
                    i+=2
                else:
                    v+=memo[s[i]]
                    i+=1
            else:
                v+=memo[s[i]]
                i+=1
        return v
执行用时 :72 ms, 在所有 python3 提交中击败了65.93%的用户
内存消耗 :14.1 MB, 在所有 python3 提交中击败了5.25%的用户
 
 
                                                                        ——2019.10.17
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!