习题二

整数转罗马数字(leetcode版)

让我们来先看题目 屏幕截图 2021-12-02 092405.png

解题思路:

根据题意

我们可以得知罗马数字字符共 7个(即I, V, X, L,C,D ,M )

然后,再加上 4,9,40,90,400,900这六类特殊数字(这里的特殊指的是较小数在较大数左侧)

我们易由此得知两种解法(字典法和哈希表法)

解法一:字典法

首先–构建字典 屏幕截图 2021-12-02 092610.png

然后–将数字的各位代入所构造的字典,一一对应,得出相应的罗马数字,再组合在一起即可

例:2984—千位为2,百位为9,十位为8,个位为4 2——MM

9——CM

8——LXXX

4——IV

所以转化的最后结果为:MMCMLXXXIV

看看代码 屏幕截图 2021-12-02 102656.png

解法二:哈希表法

代码如下:

屏幕截图 2021-12-03 155947.png