前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode刷题DAY 3:罗马数字转整数

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

作者头像
三猫
发布2020-05-09 10:47:42
3610
发布2020-05-09 10:47:42
举报
文章被收录于专栏:机器学习养成记

LeetCode刷题第三天。本道题非常简单,通过字典建立哈希表,根据运算逻辑进行加或减操作即可。

1 题目描述

罗马数字中,字母与数字之间有如下对应关系:

I

1

V

5

X

10

L

50

C

100

D

500

M

1000

通常情况下,大数字在左小数字在右,如VI表示6,当小数字在左大数字在右,表示大数要减去小数,如IV表示4。该题目要求是给出一个罗马数字转化为整数。

2 知识点

思路:建立哈希表

首先通过字典结构建立罗马字母与数字间的哈希对应表,然后根据前后两个字符表示的大小关系,把相应的数值进行加或减运算。

代码语言:javascript
复制
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]
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习养成记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档