LeetCode如何实现罗马数字转整数
这篇文章给大家分享的是有关LeetCode如何实现罗马数字转整数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
1
题目描述
罗马数字中,字母与数字之间有如下对应关系:
I | 1 |
V | 5 |
X | 10 |
L | 50 |
C | 100 |
D | 500 |
M | 1000 |
通常情况下,大数字在左小数字在右,如VI表示6,当小数字在左大数字在右,表示大数要减去小数,如IV表示4。该题目要求是给出一个罗马数字转化为整数。
2
知识点
思路 :建立哈希表首先通过字典结构建立罗马字母与数字间的哈希对应表,然后根据前后两个字符表示的大小关系,把相应的数值进行加或减运算。
class Solution: def romanToInt(self, s: str) -> int: RomanDict = {'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000} ans = 0 for i in range(len(s)-1): if RomanDict[s[i]]<RomanDict[s[i+1]]: ans = ans-RomanDict[s[i]] else: ans = ans+RomanDict[s[i]] return ans+RomanDict[s[-1]
感谢各位的阅读!关于“LeetCode如何实现罗马数字转整数”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。版权声明:如无特殊标注,文章均为本站原创,转载时请以链接形式注明文章出处。
评论