资讯详情

leecode算法题4(13. 罗马数字转整数)

直接用愚蠢的方法

var romanToInt = function(s) {   const n = s.length;   let i = 0;   let res = 0;   while(i < n) {     if (s[i] === 'M') {       res  = 1000;       i  ;     } else if (s[i] === 'C' && s[i 1] === 'M') {       res  = 900;       i  = 2;     } else if (s[i] === 'D') {       res  = 500;       i  ;     } else if (s[i] === 'C' && s[i 1] === 'D') {       res  = 400;       i  = 2;     } else if (s[i] === 'C') {       res  = 100;       i  ;     } else if (s[i] === 'X' && s[i 1] === 'C') {       res  = 90;       i  = 2;     } else if (s[i] === 'L') {       res  = 50;       i  ;     } else if (s[i] === 'X' && s[i 1] === 'L') {       res  = 40;       i  = 2;     } else if (s[i] === 'X') {       res  = 10;       i  ;     } else if (s[i] === 'I' && s[i 1] === 'X') {       res  = 9;       i  = 2;     } else if (s[i] === 'V') {       res  = 5;       i  ;     } else if (s[i] === 'I' && s[i 1] === 'V') {       res  = 4;       i  = 2;     } else if (s[i] === 'I') {       res  = 1;       i  ;     }    }   return res; };

官方版本

var romanToInt = function(s) {     const symbolValues = new Map();     symbolValues.set('I', 1);     symbolValues.set('V', 5);     symbolValues.set('X', 10);     symbolValues.set('L', 50);     symbolValues.set('C', 100);     symbolValues.set('D', 500);     symbolValues.set('M', 1000);       let ans = 0;     const n = s.length;     for (let i = 0; i < n;   i) {         const value = symbolValues.get(s[i]);         if (i < n - 1 && value < symbolValues.get(s[i   1])) {             ans -= value;         } else {             ans  = value;         }     }     return ans; };  作者:LeetCode-Solution 链接:https://leetcode.cn/problems/roman-to-integer/solution/luo-ma-shu-zi-zhuan-zheng-shu-by-leetcod-w55p/ 来源:力扣(LeetCode) 作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

标签: opb933w55z传感器传感器opb811w55z

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台