前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Q13 Roman to Integer

Q13 Roman to Integer

作者头像
echobingo
发布2018-04-25 16:32:06
5420
发布2018-04-25 16:32:06
举报

Given a roman numeral, convert it to an integer.

Input is guaranteed to be within the range from 1 to 3999.

解题思路:

将罗马字符保存到map中,观察罗马字符的规律,编写代码。

Python实现:
代码语言:javascript
复制
class Solution:
    def romanToInt(self, s):
        """
        :type s: str
        :rtype: int
        """
        map = { 'I' : 1, 'V' : 5, 'X' : 10, 'L' : 50, 'C' : 100, 'D' : 500, 'M' : 1000 }
        ans = 0
        if len(s) == 1:
            return map.get(s[0])
        for i in range(len(s) - 1):
            ch = map.get(s[i])
            if (ch >= map.get(s[i+1])):
                ans += ch
            else:
                ans -= ch
        ans += map.get(s[-1])  # 加上最后一个数字
        return ans

a = 'DCXXI'
b = Solution()
print(b.romanToInt(a))  # 621
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.02.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

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