LeetCode#13-Roman to Integer

Posted PrConstantin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode#13-Roman to Integer相关的知识,希望对你有一定的参考价值。

关于罗马数字的基础知识

参考:罗马数字

基本思路

  1. 从前向后遍历左右罗马数字
  2. 如果当前数字对应的阿拉伯数字大于后面的数字则加上当前数字
  3. 如果当前数字对应的阿拉伯数字小于后面的数字则减去当前数字
  4. 最后加上最后一个数字
let romanToInt = (s) =>
    let roman = 
        "I":1,
        "V":5,
        "X":10,
        "L":50,
        "C":100,
        "D":500,
        "M":1000
    
    let ans = 0
    for(let i=0;i<s.length-1;i++)
        if(roman[s[i]]>=roman[s[i+1]])
            ans += roman[s[i]]
        else
            ans -= roman[s[i]]
        
    
    ans+=roman[s[s.length-1]]
    return ans


console.log(romanToInt('IV'))
console.log(romanToInt('I'))
console.log(romanToInt('DCXXI'))

以上是关于LeetCode#13-Roman to Integer的主要内容,如果未能解决你的问题,请参考以下文章

#Leetcode# 13. Roman to Integer

Leetcode 13. Roman to Integer(python)

Leetcode 13. Roman to Integer

Leetcode13 Roman To Integer

LeetCode13. Roman to Integer

LeetCode13. Roman to Integer