题目描述
解题思路
解法一:贪心哈希表
通过题目描述,可以得到以下数字及其罗马数的哈希表。
贪心法则:尽可能的使用最大数来表示。
比如: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