【每日一题7.13】leetcode13:罗马数字转整数
作者:
张张大白 | 来源:发表于
2020-07-13 21:34 被阅读0次
class Solution(object):
def romanToInt(self, s):
"""
:type s: str
:rtype: int
"""
n=len(s)
Intvalue=0
#先定义哈希表-字典存储对应关系
Roman2Int={"I":1, "V":5,
"X":10, "L":50,
"C":100, "D":500, "M":1000}
#搞清楚,和二进制不同,这些事加起来的关系,所以特殊情况是两个的右-左,也就是整体-左
for index in range(n - 1):#要少遍历一位就可以全覆盖
if Roman2Int[s[index]]<Roman2Int[s[index+1]]:
Intvalue-=Roman2Int[s[index]]
else:
Intvalue+=Roman2Int[s[index]]
Intvalue=Intvalue+Roman2Int[s[-1]]
return Intvalue
个人记录:
- 字典,列表,字符串取某一位的值都是用[ ]
- 字符串和数字有关联,要想到字典,别想if的逐个取值,太傻
- 选择的时候,要考虑“==”的存在,否则很容易错
本文标题:【每日一题7.13】leetcode13:罗马数字转整数
本文链接:https://www.haomeiwen.com/subject/yfbzcktx.html
网友评论