题目概述:


题目注意点:
每次和右边数据比较大小,然后确认增加还是减去
如果是MCCC,这里需要确认右边大于左边才可以增加,等于也要减去


解题思路:


完整代码:

class Solution(object):def romanToInt(self, s):if not s:return 0# 建立罗马数字 到 阿拉伯数字的映射关系d = {"I":1,"V":5,"X":10,"L":50,"C":100,"D":500,"M":1000}     ans = 0n = len(s)# 每次我们都匹配一个字母,注意因为要获取 i+1 位置的字母,所以循环终止条件# 是字符串的最大长度-1for i in xrange(n-1):if d[s[i+1]]>d[s[i]]:ans -= d[s[i]]else:ans += d[s[i]]# 最后不要忘记收尾操作,把遗留的字母也加上ans += d[s[n-1]]return ans

作者:wang_ni_ma
链接:https://leetcode-cn.com/problems/roman-to-integer/solution/zi-ding-yi-hashchao-guo-9997-duo-chong-jie-fa-pei-/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

【leetcode】【简单】13. 罗马数字转整数【字典搜索】相关推荐

  1. java输出罗马数字,【Java】【刷穿 LeetCode】13. 罗马数字转整数(简单)

    首页 专栏 java 文章详情 0 [刷穿 LeetCode]13. 罗马数字转整数(简单) 宫水三叶发布于 今天 14:14 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 ...

  2. LeetCode(13.罗马数字转整数) JAVA Hashmap

    LeetCode(13.罗马数字转整数) JAVA Hashmap 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D ...

  3. 罗马数字 java_【leetcode刷题】[简单]13.罗马数字转整数(roman to integer)-java

    罗马数字转整数 roman to integer 题目 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M ...

  4. leetcode系列--13.罗马数字转整数

    leetcode系列–第13题.罗马数字转整数 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M.字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 ...

  5. LeetCode题 - 13 罗马数字转整数

    罗马数字转整数 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 I ...

  6. Leetcode 简单四 罗马数字转整数

    罗马数字转整数: PHP 76ms: 核心思想为哈希表操作.PHP的具体表现为关联数组.把基本数据和6大特殊数据类型何其对应的数据设为关联数组,判断是否存在并累加即可.时间复杂度O(n),空间复杂度为 ...

  7. leetcode C++ 13. 罗马数字转整数 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。

    一.C++代码: int romanToInt(string s) {int res = 0;map<char, int> mapRoman = { {'I',1},{'V',5},{'X ...

  8. c语言罗马数字换成整数,leetcode 13 罗马数字转整数 C语言

    leetcode 13 罗马数字转整数 原题 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 ...

  9. Python LeetCode(13.罗马数字转整数)

    Python LeetCode(13.罗马数字转整数) 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M ...

  10. Leetcode 13.罗马数字转整数

    Leetcode 13.罗马数字转整数 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 100 ...

最新文章

  1. Lab模式的妙用--人像处理
  2. 让ASPX和ASMX脱离IIS运行的例子(ASP.NET宿主程序)
  3. html 空格_HTML标签
  4. bootstrap与zookeeper区别
  5. django不修改数据库创外键_python小项目使用django的数据库模型
  6. Android简化xml sax解析
  7. SAP UI5 Extension getCustomProperties
  8. c语言让数组地址对齐,C语言实现比特位数组在目标空间左右居中对齐三种方式...
  9. Java-进阶:多线程2
  10. RT-Thread下的串口驱动程序分析
  11. android 自定义 对号,Android自定义View实现打钩动画功能
  12. 9.6.1 三维数据可视化之平面图
  13. 2019 世界读书日,让程序员疯狂的 13 本豆瓣高分技术书!
  14. 用ifconfig命令,只有lo,没有eth0的解决方案
  15. tcpdump抓SQL[转]
  16. 动态lacp和静态lacp区别_LACP学习笔记
  17. LabelImg 图片标注工具 for Mac
  18. 创业教父Paul Graham: 穷途末路还是康庄大道
  19. 详解boost库中的Message Queue
  20. bootstrap 可编辑列表,实现某个单元格动态控制是否可编辑状态

热门文章

  1. FPGA----关于延迟的用法
  2. 用IE浏览器打开vsd文件
  3. java歌曲管理系统
  4. 编码标准:纪律和人因工程的双剑合璧
  5. win7家庭版和旗舰版区别_WIN7_64位系统安装 MicroWIN_SP9后没有PC-PPI通讯协议怎么处理?...
  6. while read line只能读一行内容
  7. 场地预约小程序功能有哪些?要怎么做?
  8. 近视手术:全飞秒 vs 半飞秒
  9. css3ps插件,实用的PS插件推荐:长投影设计和CSS3Ps插件
  10. 个人练习4.破译密码,将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成D。