class : defromanToInt(self, s): """ :type s: str :rtype: int """ dic = {'I':1,'V':5,'X': 10,'L':50,'C':100,'D':500,'M':1000} pre = 0 result=0 for i in range(len(s)): ifnot pre: pre = dic[s[i]] continue if dic[s[i]]<= pre: result += pre pre = dic[s[i]] else: result= result+dic[s[i]]-pre pre =0 result+=pre return result deftest(self): print(self.romanToInt("IV")) print(self.romanToInt("I")) print(self.romanToInt("MCMXCIV"))
Best
1 2 3 4 5 6 7
d = {'M':1000, 'D':500, 'C':100, 'L':50, 'X':10, 'V':5, 'I':1}
defromanToInt(self, s): res, p = 0, 'I' for c in s[::-1]: res, p = res - d[c] if d[c] < d[p] else res + d[c], c return res
近期评论