【leetcode】【简单】13. 罗马数字转整数【字典搜索】
题目概述:
题目注意点:
每次和右边数据比较大小,然后确认增加还是减去
如果是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. 罗马数字转整数【字典搜索】相关推荐
- java输出罗马数字,【Java】【刷穿 LeetCode】13. 罗马数字转整数(简单)
首页 专栏 java 文章详情 0 [刷穿 LeetCode]13. 罗马数字转整数(简单) 宫水三叶发布于 今天 14:14 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 ...
- 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 ...
- 罗马数字 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 ...
- 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 ...
- 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 ...
- Leetcode 简单四 罗马数字转整数
罗马数字转整数: PHP 76ms: 核心思想为哈希表操作.PHP的具体表现为关联数组.把基本数据和6大特殊数据类型何其对应的数据设为关联数组,判断是否存在并累加即可.时间复杂度O(n),空间复杂度为 ...
- 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 ...
- 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 ...
- 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 ...
- 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 ...
最新文章
- Lab模式的妙用--人像处理
- 让ASPX和ASMX脱离IIS运行的例子(ASP.NET宿主程序)
- html 空格_HTML标签
- bootstrap与zookeeper区别
- django不修改数据库创外键_python小项目使用django的数据库模型
- Android简化xml sax解析
- SAP UI5 Extension getCustomProperties
- c语言让数组地址对齐,C语言实现比特位数组在目标空间左右居中对齐三种方式...
- Java-进阶:多线程2
- RT-Thread下的串口驱动程序分析
- android 自定义 对号,Android自定义View实现打钩动画功能
- 9.6.1 三维数据可视化之平面图
- 2019 世界读书日,让程序员疯狂的 13 本豆瓣高分技术书!
- 用ifconfig命令,只有lo,没有eth0的解决方案
- tcpdump抓SQL[转]
- 动态lacp和静态lacp区别_LACP学习笔记
- LabelImg 图片标注工具 for Mac
- 创业教父Paul Graham: 穷途末路还是康庄大道
- 详解boost库中的Message Queue
- bootstrap 可编辑列表,实现某个单元格动态控制是否可编辑状态
热门文章
- FPGA----关于延迟的用法
- 用IE浏览器打开vsd文件
- java歌曲管理系统
- 编码标准:纪律和人因工程的双剑合璧
- win7家庭版和旗舰版区别_WIN7_64位系统安装 MicroWIN_SP9后没有PC-PPI通讯协议怎么处理?...
- while read line只能读一行内容
- 场地预约小程序功能有哪些?要怎么做?
- 近视手术:全飞秒 vs 半飞秒
- css3ps插件,实用的PS插件推荐:长投影设计和CSS3Ps插件
- 个人练习4.破译密码,将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成D。