您的位置:首页 > 编程语言 > Python开发

Leetcode-Roman to Integer-Python

2017-08-14 11:44 309 查看

Roman to Integer

将罗马数字转换为阿拉伯数字。

Description

leetcode没有说明具体的转换规则,我是按照罗马数字规则设置的。

解题思路

一个保存罗马数字映射的字典:

roman = {'M': 1000,'D': 500 ,'C': 100,'L': 50,'X': 10,'V': 5,'I': 1}


规则:

- 如果一个元素值比右边元素大,则加上这个元素;

- 如果一个元素值比右边元素小,则减去这个元素;

- 始终加上末尾的元素;

def romanToInt(self, s):
"""
:type s: str
:rtype: int
"""
roman = {'M': 1000,'D': 500 ,'C': 100,'L': 50,'X': 10,'V': 5,'I': 1}

num = 0
for i in range(len(s)-1):
if roman[s[i]
9c29
]>=roman[s[i+1]]:
num = num + roman[s[i]]
else:
num = num - roman[s[i]]

return num+roman[s[-1]]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息