mycode  97.21%

class Solution(object):
def romanToInt(self, s):
"""
:type s: str
:rtype: int
"""
dic = {'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000,'IV':4,'IX':9,'XL':40,'XC':90,'CD':400,'CM':900}
res = 0
flag = 0
for i in range(len(s)-1):
if flag:
flag = 0
continue
temp = s[i] + s[i+1]
if temp in dic:
res += dic[temp]
flag = 1
else:
res += dic[s[i]]
if flag == 0:
return res + dic[s[-1]]
return res

参考

class Solution(object):
def romanToInt(self, s):
"""
:type s: str
:rtype: int
"""
roman_map = {
"I": 1,
"V": 5,
"X": 10,
"L": 50,
"C": 100,
"D": 500,
"M": 1000
}
sum = 0
for idx, c in enumerate(s[:-1]):
num = roman_map[c]
sum += (-num) if roman_map[s[idx+1]] > num else num#题目已经说了字母是按大到小,除了特殊的
sum += roman_map[s[-1]]
return sum

最新文章

  1. Linux进程环境
  2. swifttextfield代理方法
  3. mysql pid文件
  4. JAVA基础学习day14--集合一
  5. C#中() =>是什么意思
  6. 【转】Linux Soclet编程
  7. 在Java中怎样把数组转换为ArrayList?
  8. 真相:中国版BBB用USB连电脑没有盘符的根本原因分析
  9. IO 常用
  10. 10 个迅速提升你 Git 水平的提示(转)
  11. 2017西安网络赛 F
  12. 浅谈Linux基本命令
  13. git 学习(3) ----- 代码共享和多人协作
  14. win10家庭版删除文件提示没有权限最简单的方式
  15. MySQL插入命令_INSERT INTO
  16. HDU - 4389 X mod f(x)(数位dp)
  17. disruptor的并行用法
  18. 关于 未在本地计算机上注册“VFPOLEDB.1” 的解决方案
  19. Hadoop HBase概念学习系列之HBase里的时间戳(二十六)
  20. [模式识别].(希腊)西奥多里蒂斯<第四版>笔记5之__特征选取

热门文章

  1. IAP技术原理
  2. 第十五篇 JS 移入移出事件 模拟一个二级菜单
  3. TVM安装
  4. bagging and boosting
  5. Nginx安装目录详解
  6. vue + mixin混入对象使用
  7. oracle监听启动很慢
  8. 使用CreateRemoteThread注入DLL
  9. MongoDB——》聚合查询(project、match、limit、skip、unwind、group、sort)
  10. 详解python编译器和解释器的区别