leetcode系列–第13题.罗马数字转整数

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符          数值
I             1
V             5
X             10
L             50
C             100
D             500
M             1000
例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做  XXVII, 即为 XX + V + II 。
通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:
I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。
C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。
给定一个罗马数字,将其转换成整数。
输入: s = "III"
输出: 3
输入: s = "IV"
输出: 4
输入: s = "LVIII"
输出: 58
解释: L = 50, V= 5, III = 3.
输入: s = "MCMXCIV"
输出: 1994
解释: M = 1000, CM = 900, XC = 90, IV = 4.
// 比较当前字符对应的数值与后一个字符对应的数值的大小
// 如果当前字符比较大,则计为正
// 如果当前字符比较小,则计为负
// 最终将正负值累加
/*** @param {string} s* @return {number}*/
const map = {I: 1,IV: 4,V: 5,IX: 9,X: 10,XL: 40,L: 50,XC: 90,C: 100,CD: 400,D: 500,CM: 900,M: 1000
};var romanToInt = function (s) {let result = 0;for (let i = 0; i < s.length; i++) {if (map[s[i]] < map[s[i + 1]]) {result -= map[s[i]]} else {result += map[s[i]]}}return result
};

leetcode系列--13.罗马数字转整数相关推荐

  1. java输出罗马数字,【Java】【刷穿 LeetCode】13. 罗马数字转整数(简单)

    首页 专栏 java 文章详情 0 [刷穿 LeetCode]13. 罗马数字转整数(简单) 宫水三叶发布于 今天 14:14 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 ...

  2. LeetCode(13.罗马数字转整数) JAVA Hashmap

    LeetCode(13.罗马数字转整数) JAVA Hashmap 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D ...

  3. LeetCode题 - 13 罗马数字转整数

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

  4. leetcode C++ 13. 罗马数字转整数 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。

    一.C++代码: int romanToInt(string s) {int res = 0;map<char, int> mapRoman = { {'I',1},{'V',5},{'X ...

  5. c语言罗马数字换成整数,leetcode 13 罗马数字转整数 C语言

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

  6. Python LeetCode(13.罗马数字转整数)

    Python LeetCode(13.罗马数字转整数) 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M ...

  7. Leetcode 13.罗马数字转整数

    Leetcode 13.罗马数字转整数 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 100 ...

  8. 【LeetCode】【Java】13. 罗马数字转整数——给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内。

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

  9. 力扣13 罗马数字转整数逻辑详解

    力扣 13 .罗马数字转整数逻辑详解 题目详情 逻辑分析 代码实现 题目详情 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 1 ...

最新文章

  1. RapidJSON简介及使用
  2. linux iptables常用命令之配置生产环境iptables及优化
  3. Mac 上 iterm2 和 VSCode 终端中的字体设置建议
  4. 追随自己的价值观:用研经理 Anne Diaz 职业探索之路
  5. bootstrap bable 自动换行问题
  6. 《SAS编程与数据挖掘商业案例》学习笔记之十
  7. CF372D. Choosing Subtree is Fun
  8. python 数据类型之间的转换
  9. JS 构造图片Image对象
  10. numpy数组按某一维度相加_Python数据分析之NumPy(高级篇)
  11. 8080端口被占用bug解决办法
  12. 同心圆的画法_BIM微课堂:一种简单的顶管中继间画法
  13. Adaptive Placeholder – 自适应的占位符效果
  14. TestDirector安装配置
  15. IP城域网遇到的总结
  16. 常用合同范本大全|全部是合同,多学学吧。以后少吃亏。
  17. matlab学习笔记 struct函数
  18. java计算机毕业设计婚恋网站(附源码、数据库)
  19. (PTA)7-5 查询水果价格 (15分)
  20. 图片转文字微信小程序使用方法

热门文章

  1. Vue: wangEditor 编辑器使用示例
  2. 基于C#的PhotoS图片分享网站设计
  3. 取模运算性质_取模运算的性质
  4. Oracle EBS: 物料的属性设定
  5. android编译ijkplayer,android studio 3.0 集成ijkplayer
  6. 在线客服系统提高电商行业客户体验和成交率
  7. 关于ng-alain的st、sf一些小功能的总结
  8. vue-01 创建你的第一个vue页面-视频教程
  9. [附源码]java毕业设计社区医院管理系统
  10. Property ‘xxx‘ does not exist on type ‘{ xxx(file: any, fileList: any): void;的报错