整数转罗马数字(leetcode版)
让我们来先看题目
解题思路:
根据题意
我们可以得知罗马数字字符共 7个(即I, V, X, L,C,D ,M )
然后,再加上 4,9,40,90,400,900这六类特殊数字(这里的特殊指的是较小数在较大数左侧)
我们易由此得知两种解法(字典法和哈希表法)
解法一:字典法
首先–构建字典
然后–将数字的各位代入所构造的字典,一一对应,得出相应的罗马数字,再组合在一起即可
例:2984—千位为2,百位为9,十位为8,个位为4 2——MM
9——CM
8——LXXX
4——IV
所以转化的最后结果为:MMCMLXXXIV
看看代码
解法二:哈希表法
代码如下: