LeetCode13.罗马数字转整数 JavaScript

罗马数字包含以下七种字符: ·I, V, X, L,C,D 和 M

字符          数值
I             1
V             5
X             10
L             50
C             100
D             500
M             1000

例如, 罗马数字 2 写做II ,即为两个并列的 112 写做 XII ,即为 X + II27 写做 XXVII, 即为 XX + V + II

通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:

I 可以放在 V (5)X (10) 的左边,来表示49
X 可以放在 L (50)C (100) 的左边,来表示 4090
C 可以放在 D (500)M (1000) 的左边,来表示 400900
给定一个罗马数字,将其转换成整数。输入确保在 13999 的范围内。

示例 1:

输入: "III"
输出: 3

示例 2:

输入: "IV"
输出: 4

示例 3:

输入: "IX"
输出: 9

示例 4:

输入: "LVIII"
输出: 58
解释: L = 50, V= 5, III = 3.

示例 5:

输入: "MCMXCIV"
输出: 1994
解释: M = 1000, CM = 900, XC = 90, IV = 4.

答案参考:

/*** @param {string} s* @return {number}*/
var romanToInt = function(s) {let result = 0;if (s.includes("IV") || s.includes("IX")) result -= 2;if (s.includes("XL") || s.includes("XC")) result -= 20;if (s.includes("CD") || s.includes("CM")) result -= 200;for (let c of s) {switch (c) {case "I":result += 1;break;case "V":result += 5;break;case "X":result += 10;break;case "L":result += 50;break;case "C":result += 100;break;case "D":result += 500;break;case "M":result += 1000;break}}return result};

LeetCode13.罗马数字转整数 JavaScript相关推荐

  1. JAVA Leetcode13. 罗马数字转整数

    题目 罗马数字转整数 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写 ...

  2. Leetcode-13. 罗马数字转整数(C++)

    题目链接 https://leetcode-cn.com/problems/roman-to-integer 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符     ...

  3. leetcode13. 罗马数字转整数

    罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符          数值 I             1 V             5 X             10 L ...

  4. LeetCode-13.罗马数字转整数

    题目内容 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/roman-to-integer/ 罗马数字包含以下七种字符: I, V, X, L, ...

  5. C练题笔记之:Leetcode-13. 罗马数字转整数

    题目: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符          数值 I             1 V             5 X             1 ...

  6. LeetCode----13. 罗马数字转整数

    char roman[7] ="IVXLCDM"; int num[7] = {1,5,10,50,100,500,1000};int map(char c) //7种罗马转为阿拉 ...

  7. 52 - LeetCode-13 -罗马数字转整数_罗马数字转数字

    //LeetCode-13-数组和mapclass Solution {public:int romanToInt(string s) {map<char,int> map;map['M' ...

  8. LeetCode-13. 罗马数字转整数(java)

    一.前言:

  9. leetcode13罗马数字转整数

    num = {'I':1,'V':5,'X':10,'L':50} # 字符代表字典 sum = 0# 运算集合 for i in range(len(s)):#对字符串S进行遍历 if i < ...

最新文章

  1. 收藏一波:常用正则表达式公式总结
  2. UVa455 Periodic Strings(kmp)
  3. 【AcWing 235. 魔法珠
  4. 林俊卿咽音练声法八个步骤(纯净版视频加图文)(转)
  5. @Size注解无法使用
  6. php model get set方法,创建数据库对象之__set方法
  7. OO4O的session残留问题
  8. 线性回归的简洁实现(pytorch框架)
  9. Bailian4096 信号转换【密码】
  10. 错误ImportError: 'No module named skimage.io'和ImportError: No module named google.protobuf.internal
  11. 机器学习之KNN 算法
  12. 手机扫描识别Vin码识别
  13. 面试总结系列(一)------ 国际化中台事业部
  14. DispatchQueue (SwiftUI Dispatch 中文手册)
  15. 提取图片中文字的方法
  16. Flutter BLoC 用户登录
  17. mysql传入Bean_ods数据导入mysql
  18. fastreport.net使用部分总结和c#相关代码
  19. 推荐:移动端前端UI库—Frozen UI、WeUI、SUI Mobile
  20. C# 三种方式实现模拟键盘按键

热门文章

  1. 转行做程序员之前你应该考虑的三件事
  2. Python中通过requests模块发送POST请求.
  3. 微软GPT-4 Office王炸来袭,10亿打工人被革命
  4. android activity生命周期(一)onCreate和onDestroy方法
  5. 华清远见上海中心22071班--11.29作业
  6. 强买强卖算是抢劫吗?
  7. 完美解决IDEA控制台乱码问题
  8. mysql 默认系统表_MySQL常用系统表大全(转)
  9. 修改服务器监听端口,Ubuntu tacacs+ 服务器修改监听端口
  10. 2023年高考真题练习