每日一道算法题之LeetCode13

LeetCode13 罗马数字转整数

题目链接:https://leetcode-cn.com/problems/roman-to-integer/

解题思路:

# 1把罗马数字和对应的数值定义为字典;
# 2计算输入字符的长度;
# 3判断左边的数值是否小于右边,如果小于,则在总值中减去;反之加上。
 1 class Solution:
 2     def romanToInt(self, s: str) -> int:
 3         dict = {'I':1,'V':5, 'X':10, 'L':50, 'C':100, 'D':500, 'M':1000}
 4         n= len(s)
 5         sum = 0
 6         for i in range(n-1):
 7             if dict[s[i]] < dict[s[i+1]]:
 8                 sum -= dict[s[i]]
 9             else:
10                 sum += dict[s[i]]
11         return sum + dict[s[-1]]

 

posted @ 2021-01-24 22:37  vv_869  阅读(116)  评论(0编辑  收藏  举报