python leetcode 13. Roman to Integer
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python leetcode 13. Roman to Integer,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1611字,纯文字阅读大概需要3分钟。
内容图文
![python leetcode 13. Roman to Integer](/upload/InfoBanner/zyjiaocheng/834/b12b56c867f94b50867117e1040cbac9.jpg)
Roman numerals are represented by seven different symbols: I
, V
, X
, L
, C
, D
and M
.
Symbol Value
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
For example, two is written as II
in Roman numeral, just two one's added together. Twelve is written as, XII
, which is simply X
+ II
. The number twenty seven is written as XXVII
, which is XX
+ V
+ II
.
Roman numerals are usually written largest to smallest from left to right. However, the numeral for four is not IIII
. Instead, the number four is written as IV
. Because the one is before the five we subtract it making four. The same principle applies to the number nine, which is written as IX
. There are six instances where subtraction is used:
I
can be placed beforeV
(5) andX
(10) to make 4 and 9.X
can be placed beforeL
(50) andC
(100) to make 40 and 90.C
can be placed beforeD
(500) andM
(1000) to make 400 and 900.
Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 to 3999.
将罗马数字转化成阿拉伯数字
Example 1:
Input:?"III"
Output: 3
Example 2:
Input:?"IV"
Output: 4
Example 3:
Input:?"IX"
Output: 9
Example 4:
Input:?"LVIII"
Output: 58
Explanation: L = 50, V= 5, III = 3.
class Solution(object):
def romanToInt(self, s):
"""
:type s: str
:rtype: int
"""
numeral_value = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000}
result = 0
for i in range(len(s)):
if i > 0 and numeral_value[s[i]] > numeral_value[s[i - 1]]:
result += numeral_value[s[i]] - 2 * numeral_value[s[i - 1]]
else:
result += numeral_value[s[i]]
return result
内容总结
以上是互联网集市为您收集整理的python leetcode 13. Roman to Integer全部内容,希望文章能够帮你解决python leetcode 13. Roman to Integer所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。