133. 整数转换为罗马数字

JavaScriptAlgorithm
觉得这个题有帮助吗?

容易  -通过 / -执行

罗马数字(Roman numerals) 由如下7种记号排列而成。

Symbol I V X L C D M
Value 1 5 10 50 100 500 1000

Standard form表示中,subtractive notation 将发生作用,意味着4 是IV 而不是IIII,9 是IX而不是VIIII,该规则适用于40(XL)和 900(CM)等等。

简单来说,罗马数字遵从如下规则。

  1. 记号从左往右,值从大到小进行排列。
  2. 从左往右,如果下一个记号的值更大,则代表减法,否则是加法。

请实现integerToRoman(),传入的整数都在有效范围内。


integerToRoman(123)
// 'CXXIII'

integerToRoman(1999)
// 'MCMXCIX'

integerToRoman(3420)
// 'MMMCDXX'

争取10分钟以内搞定这个问题

讨论(22)