【Leetcode 12】整数转罗马数

题目描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解题思路

解法一:贪心哈希表

通过题目描述,可以得到以下数字及其罗马数的哈希表。
贪心法则:尽可能的使用最大数来表示。
比如:1954,依次选择1000,900,50,4来表示得到MCMLIV
在这里插入图片描述

python代码

class Solution:
    def intToRoman(self, num: int) -> str:
        hashmap = {1000:'M',900:'CM',500:'D',400:'CD',100:'C',90:'XC',
        50:'L',40:'XL',10:'X',9:'IX',5:'V',4:'IV',1:'I'}
        res = ''
        for i in hashmap:
            if num//i != 0:
                count = num//i
                res += hashmap[i] * count
                num %= i
        return res
发布了56 篇原创文章 · 获赞 1 · 访问量 1674

猜你喜欢

转载自blog.csdn.net/weixin_44549556/article/details/105250515