题目:如下图

题目

解题思路:

  1. 首先先将所有罗马字符转化数字,并加入数字中。
  2. 得到步骤1的数字,考虑罗马数字的计算规则。例如:IV=4 , III = 3等,进行总和计算。

罗马数字计算规则:
当两个字符相邻时并且左边的字符代表的数字比右边的小时,例如:IV ,此时用右边字符代表的数字减去左边的数字。
假如右边的大于左边的,则执行加法操作。

下面是详细的python3执行代码

class Solution:
def romanToInt(self, s: str) -> int:
str_nums = list(s)
result = []
for num in str_nums:
if num == 'I':
result.append(1)
continue
if num == 'V':
result.append(5)
continue
if num == 'X':
result.append(10)
continue
if num == 'L':
result.append(50)
continue
if num == 'C':
result.append(100)
continue
if num == 'D':
result.append(500)
continue
if num == 'M':
result.append(1000)
continue
num_length = len(result)
i = 0
count = 0
while i<num_length-1:
if result[i]<result[i+1]:
count -= result[i]
else :
count += result[i]
i += 1
count += result[num_length-1]
return count
成绩

第一次获得这么好的成绩,纪念一下。

分类: 刷题记

发表评论

电子邮件地址不会被公开。 必填项已用*标注