leetcode 13. Roman to Integer
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
Roman Numerals Chart
M=1000 |
D = 500 |
|||||||||
I |
1 |
XXXII |
32 |
LXIII |
63 |
XCIV |
94 |
|||
II |
2 |
XXXIII |
33 |
LXIV |
64 |
XCV |
95 |
|||
III |
3 |
XXXIV |
34 |
LXV |
65 |
XCVI |
96 |
|||
IV |
4 |
XXXV |
35 |
LXVI |
66 |
XCVII |
97 |
|||
V |
5 |
XXXVI |
36 |
LXVII |
67 |
XCVIII |
98 |
|||
VI |
6 |
XXXVII |
37 |
LXVIII |
68 |
XCIX |
99 |
|||
VII |
7 |
XXXVIII |
38 |
LXIX |
69 |
C |
100 |
|||
VIII |
8 |
XXXIX |
39 |
LXX |
70 |
|||||
IX |
9 |
XL |
40 |
LXXI |
71 |
EX. |
||||
X |
10 |
XLI |
41 |
LXXII |
72 |
DI |
501 |
|||
XI |
11 |
XLII |
42 |
LXXIII |
73 |
DL |
550 |
|||
XII |
12 |
XLIII |
43 |
LXXIV |
74 |
DXXX |
530 |
|||
XIII |
13 |
XLIV |
44 |
LXXV |
75 |
DCCVII |
707 |
|||
XIV |
14 |
XLV |
45 |
LXXVI |
76 |
DCCCXC |
890 |
|||
XV |
15 |
XLVI |
46 |
LXXVII |
77 |
MD |
1500 |
|||
XVI |
16 |
XLVII |
47 |
LXXVIII |
78 |
MDCCC |
1800 |
|||
XVII |
17 |
XLVIII |
48 |
LXXIX |
79 |
CM |
900 |
|||
XVIII |
18 |
XLIX |
49 |
LXXX |
80 |
|||||
XIX |
19 |
L |
50 |
LXXXI |
81 |
|||||
XX |
20 |
LI |
51 |
LXXXII |
82 |
|||||
XXI |
21 |
LII |
52 |
LXXXIII |
83 |
|||||
XXII |
22 |
LIII |
53 |
LXXXIV |
84 |
|||||
XXIII |
23 |
LIV |
54 |
LXXXV |
85 |
|||||
XXIV |
24 |
LV |
55 |
LXXXVI |
86 |
|||||
XXV |
25 |
LVI |
56 |
LXXXVII |
87 |
|||||
XXVI |
26 |
LVII |
57 |
LXXXVIII |
88 |
|||||
XXVII |
27 |
LVIII |
58 |
LXXXIX |
89 |
|||||
XXVIII |
28 |
LIX |
59 |
XC |
90 |
|||||
XXIX |
29 |
LX |
60 |
XCI |
91 |
|||||
XXX |
30 |
LXI |
61 |
XCII |
92 |
|||||
XXXI |
31 |
LXII |
62 |
XCIII |
93 |
其实看明白这个该死的表就可以求解了!
class Solution(object): def romanToInt(self, s): """ :type s: str :rtype: int """ roman = {'M': 1000,'D': 500 ,'C': 100,'L': 50,'X': 10,'V': 5,'I': 1} nums = [roman[c] for c in s] ans = 0 for i in xrange(0, len(s)-1): if nums[i] < nums[i+1]: ans -= nums[i] else: ans += nums[i] return ans + nums[-1]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
2017-03-27 Lucene 4.X 倒排索引原理与实现: (3) Term Dictionary和Index文件 (FST详细解析)——直接看例子就明白了!!!
2017-03-27 超线程技术——超线程技术让(P4)处理器增加5%的裸晶面积,就可以换来15%~30%的效能提升,本质单核模拟双核!和异步编程的思想无异。
2017-03-27 SQL数据分析概览——Hive、Impala、Spark SQL、Drill、HAWQ 以及Presto+druid