博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 13. 罗马数字转整数(Roman to Integer)
阅读量:4319 次
发布时间:2019-06-06

本文共 1384 字,大约阅读时间需要 4 分钟。

目录

题目描述:

罗马数字包含以下七种字符: IVXLCDM

字符          数值    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。
给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内。

示例 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.

解法:

class Solution {public:    int romanToInt(string s) {        vector vals(128, 0);        vals['I'] = 1;        vals['V'] = 5;        vals['X'] = 10;        vals['L'] = 50;        vals['C'] = 100;        vals['D'] = 500;        vals['M'] = 1000;        int res = 0;        int sz = s.size();                res += vals[s.back()];        if(sz > 1){            for(int i=0; i= vals[s[i+1]]){                    res += vals[s[i]];                }else{                    res -= vals[s[i]];                }            }        }        return res;    }};

转载于:https://www.cnblogs.com/zhanzq/p/10551915.html

你可能感兴趣的文章
Mongodb之增删改查操作
查看>>
elasticsearch 索引,更新,增量更新,不停机修改升级 ,简单使用
查看>>
前端生成二维码图片以及条形码图片
查看>>
LA4794 分享巧克力
查看>>
《梦断代码》第四阶段阅读感想(包括第9、10、11共三章)
查看>>
OpenCV4Android 之 OpenCV4Android SDK
查看>>
serialVersionUID作用
查看>>
解决无法访问U盘打开提示拒绝访问的问题
查看>>
unicode 字符串。互相准换
查看>>
分组加密算法CBC模式的 Padding Oracle Attack 与 Hash算法的Length Extention Attack 小记...
查看>>
虚拟基类的初始化
查看>>
C++中析构函数为什么要是虚函数
查看>>
【转】记录pytty用户名和密码
查看>>
Django Rest Framework 视图和路由
查看>>
不忘初心,方得始终 ,让我们一起学习成长,感谢有你!
查看>>
InputControls的应用
查看>>
20190312_浅谈go&java差异(一)
查看>>
软件工程博客---团队项目---个人设计4(算法流程图)
查看>>
数据结构3——数组、集合
查看>>
坚定信心
查看>>