其他分享
首页 > 其他分享> > 罗马数字转整数

罗马数字转整数

作者:互联网

题目

在这里插入图片描述

思路

 从左往右一位一位的看,如果这一位数字比它右边一位的数字大或与其相等,则加上这一位代表的值,如果它比右边一位小,则减去这一位代表的数字。位与后一位的比较只需进行到倒数第二位即可,因为最后一位没有比它小的一位能够进行比较,直接加上最后一位代表的值即可。

    def romanToInt(self, s: str) -> int:
        roma_nums = {'M':1000,'D':500,'C':100,'L':50,'X':10,'V':5,'I':1}
        num = 0
        for i in range(len(s)-1):
            if roma_nums[s[i]]>=roma_nums[s[i+1]]: %如果当前位的数比他下一位的数大
                num += roma_nums[s[i]]             %num加上当前这位的数
            else:
                num -= roma_nums[s[i]]             %否则减去当前位数的数
        last_num = s[len(s)-1]  
        num = num + roma_nums[last_num]            %前面位数得到num直接加上最后一位的数字
        return num

标签:数字,nums,整数,一位,罗马数字,num,len,roma
来源: https://blog.csdn.net/MercuryG/article/details/101169874