Mutual Recursion
Mutual Recursion
Roman to Integer
https://leetcode.com/problems/roman-to-integer/
Los números romanos son representados por 7 símbolos diferentes: I
, V
, X
,
L
, C
, D
y M
| Symbol | Value | | -- | -- | |I | 1| |V | 5| |X | 10| |L | 50| |C | 100| |D | 500| |M | 1000|
Por ejemplo, 2 es escrito como II
en números romanos, solo dos unos son añadidos.
12
es escrito como XII
, el cual es simple X
+ II
. El numero 27 es escrito
como XXVII
, el cual es XX
+ V
+ II
.
Los números romanos son usualmente escritos del mas alto al mas bajo de izquierda
a derecha. Sin embargo, para el numero cuatro no es IIII
. En su lugar, el numero
cuatro es escrito como IV
. Porque el uno esta antes de el cinco lo substraemos
para que sea cuatro. El mismo principio aplica para el numero nueve, el cual es escrito
como IX
. Hay seis instancia donde la sustracción es usada:
I
puede ser colocado antes deV
(5) yX
(10) para hacerlo 4 y 9.X
puede ser colocado antes deL
(50) yC
(100) para hacerlo 40 y 90.C
puede ser colocado antes deD
(500) yM
(1000) para hacerlo 400 y 900.
Dado un numero romano, conviértelo a un numero entero.
Ejemplo 1
Entrada: s = "III"
Salida: 3
Ejemplo 2
Entrada: s = "IV"
Salida: 4
Ejemplo 3
Entrada: s = "IX"
Salida: 9
Ejemplo 4
Entrada: s = "LVIII"
Salida: 58
Explicación: L = 50, V= 5, III = 3.
Ejemplo 4
Entrada: s = "MCMXCIV"
Salida: 1994
Explicación: M = 1000, CM = 900, XC = 90 and IV = 4.
Importante ❗
1 <= s.length <= 15
s
contiene solo los caracteres('I', 'V', 'X', 'L', 'C', 'D', 'M')
.- Esta garantizado que
s
es un numero romano valido en el rango[1, 3999]
.