美文网首页
罗马数字转为整数

罗马数字转为整数

作者: wwzwwz | 来源:发表于2017-10-27 17:22 被阅读0次

    只要明白了罗马数字的基本道理,把罗马数字转为整数其实很简单,

    罗马数字有I V X L C D M 组成,分别代表1,5, 10, 50,100,500,1000

    然后这几个字母在一块组成一个数.字母组合的规则有两个:

    - 1.假如左边的字母代表的数比右边的字母代表的数小,那么这个字母代表的数为本来的相反数.

    如IV为-1 + 5 = 4

    - 2.其他情况都为本来的数

    如VI为5 + 1 = 6

    - 3.最后一位为正的.

    其实还有挺多细节的,但是这个题目需要的只有这些,了解这些就足够了.

    然后按照上面的两条逻辑,就可写出下面的代码.

    除了这个题目的解法之外,还有要注意写法,如果变量为不变的,那就定义为const,假如只在此作用域起作用,就定义为let,经过我自己的实践,用这两种代替var,可以提高程序的运行速度,所以,我们从开始就要养成良好的编程习惯.

    ## Solution(javascript):

    这种解法不是最优的,但应该是比较简单直观.所以今天发这种解法.后面可能更新别的解法

    ```

    var romanToInt = function(s) {

    const arr = s.split('');

    const map = {

    I: 1,

    V: 5,

    X: 10,

    L: 50,

    C: 100,

    D: 500,

    M: 1000,

    }

    let len = arr.length;

    let num = map[arr[len-1]];

    for(let i = len-2; i >=0; i--) {

    let addNum = map[arr[i]];

    if (addNum >= map[arr[i+1]])

    num += addNum;

    else

    num -= addNum;

    }

    return num;

    };

    ```

    相关文章

      网友评论

          本文标题:罗马数字转为整数

          本文链接:https://www.haomeiwen.com/subject/qgldpxtx.html