Given a roman numeral, convert it to an integer.

Input is guaranteed to be within the range from 1 to 3999.

解释:罗马数字:

I:1

V:5

X:10

L:50

C:100

D:500

M:1000

比如:MCMLXX:1970

MDCLXVI:1666

思路:从高位到低位扫描

可将1970划分为

[M] [CM] [L] [X] [X],即每个段内都是非降序,程序上体现为当出现升序时,减去前一个数字,否则加上前一个数字

class Solution {public int measure(char c){if(c=='I'){return 1;}else if(c=='V'){return 5;}else if(c=='X'){return 10;}else if(c=='L'){return 50;}else if(c=='C'){return 100;}else if(c=='D'){return 500;}else if(c=='M'){return 1000;}return 0;}public int romanToInt(String s) {int sum = 0;int pre = 0;int temp = 0;for(int i = 0;i <s.length() ;i++){temp = measure(s.charAt(i));if(temp <= pre){sum += pre;pre = temp;}else{sum -= pre;pre = temp;}}sum += pre;return sum;}
}

最近做点简单的题,偷偷懒......

Roman to Integer:转换罗马数字到阿拉伯数字相关推荐

  1. 罗马数字 java_【leetcode刷题】[简单]13.罗马数字转整数(roman to integer)-java

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

  2. LeetCode Roman to Integer(罗马数字转换)

    思路: 罗马数字是阿拉伯数字传入之前使用的一种数码.罗马数字采用七个罗马字母作数字.即Ⅰ(1).X(10).C(100).M(1000).V(5).L(50).D(500).记数的方法: 相同的数字连 ...

  3. LeetCode 罗马数字与阿拉伯数字的转换

    罗马数字->阿拉伯数字 Roman to Integer class Solution {public:int romanToInt(string s) {map<char, int> ...

  4. leetcode 12 ,13 Integer to Roman amp;amp;Roman to Integer 罗马与阿拉伯数组转换

    12 Integer to Roman 13 Roman to Integer 有可能不注意的结果: class Solution {public:/*1.相同的数字连写,所表示的数等于这些数字相加得 ...

  5. 罗马数字转整数 · Roman to Integer

    13. Roman to Integer [抄题]: [暴力解法]: 时间分析: 空间分析: [思维问题]: 没有想到罗马字是逆序的情况 没有想到要先用toCharArray()方法把字符串拆成一个字 ...

  6. python罗马数字转换阿拉伯数字_20202427-张启辰《Python3初学:罗马数字转阿拉伯数字》...

    20202427-张启辰<Python3初学:罗马数字转阿拉伯数字> 1.规则 罗马数字是古罗马使用的一种记数系统,在阿拉伯数字传入之前使用较为普遍,目前大家可能在钟表.日历.文章的排序 ...

  7. LeetCode 13. Roman to Integer

    问题链接 LeetCode 13. Roman to Integer 题目解析 将罗马数字转换成普通数字. 解题思路 先简单了解一下什么是罗马数字. 基本字符:I,V,X,L,C,D,M 相应的阿拉伯 ...

  8. 【leetcode刷题笔记】Roman to Integer

    Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 t ...

  9. # LeetCode集锦(四) - 第13题 Roman To Integer

    LeetCode集锦(四) - 第13题 Roman To Integer 问题 Roman numerals are represented by seven different symbols: ...

  10. [LeetCode][JavaScript]Roman to Integer

    Roman to Integer Given a roman numeral, convert it to an integer. Input is guaranteed to be within t ...

最新文章

  1. centos7系统中忘记了root管理员账号密码的解决方式
  2. ubuntu 14.10 使用fcitx输入法
  3. 使用ansible部署安装corosync+pacemaker
  4. http协议报文体_HTTP协议详解
  5. 活动执行手册_1-200家门店,标准化不等于手册!而是标准+训练+督导,缺一不可!...
  6. 运行sre10_在生产中运行Java:SRE的观点
  7. 如何选择LoRa产品
  8. 前端学习(769):new关键字执行过程
  9. 【w3cschool】通过C语言类比快速上手C#
  10. [HNOI2013]题解
  11. 携程状告去哪儿一案有猫腻
  12. 华为 HR 内网 5000 字实名控诉:研发兄弟一个月加班 160 小时却被说不努力...
  13. atitit 常见个人与企业与组织机构的信息化.docx
  14. 京东、阿里:健康版图再博弈
  15. IMAP4 读取收件箱的问题
  16. 计算机图形学与OpenGL
  17. 7-11 机工士姆斯塔迪奥(PTA程序设计)
  18. rabbitmq:publisher confirms
  19. Linux在sudo apt-get update或install时出现archive.ubuntu.com连接失败 [IP: 91.189.91.39 80]的错误解决方案
  20. 关于网上很不好找的幼儿识图APP

热门文章

  1. [Matlab] 单次测量的中误差、算数平均值的中误差、加权求最或然值、函数拟合、莫迪图的计算实例
  2. 易学笔记-系统分析师考试-第9章 系统规划/9.5 成本效益分析技术/9.5.3 投资回收期和投资回报率
  3. 特斯拉又遇致命车祸:车主严重烧伤无法辨认 事故一天后电池复燃
  4. python selenium+firefox对网页截长图
  5. 丹佛大学计算机专业,丹佛大学计算机工程排名第79(2020年TFE美国排名)
  6. 架构真经 | 那些年,我们踩过的缓存坑
  7. 大数据技术应用需要注意什么?
  8. erlang 解决socket 数据粘包问题
  9. 真爱一个人,何妨赌一生
  10. matlab凑数求和,凑数求和算法 C语言问题 C语言求和算法