您的位置 首页 > 腾讯云社区

LeetCode刷题DAY 3:罗马数字转整数---三猫

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] ---来自腾讯云社区的---三猫

关于作者: 瞎采新闻

这里可以显示个人介绍!这里可以显示个人介绍!

热门文章

留言与评论(共有 0 条评论)
   
验证码: