LeetCode 012: Integer to Roman
来源:互联网 发布:淘宝淘金币大转盘漏洞 编辑:程序博客网 时间:2024/05/17 04:48
012. Integer to Roman
Difficulty: Medium
Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
思路
首先要知道罗马数字的记数方法,罗马数字采用七个罗马字母作数字:
1)相同的数字连写(重复不得超过三次),所表示的数等于这些数字相加得到的数,如:III=3;
2)小数在大数的右边,所表示的数等于这些数字相加得到的数, 如:VIII=8、XII=12;
3)小数(限于Ⅰ、X和C,只能用一次)在大数的左边,所表示的数等于大数减小数得到的数,如:Ⅳ=4、Ⅸ=9;
依次计算各数位的数值,找到对应罗马数字,拼接即可。
代码
[C++]
class Solution {public: string intToRoman(int num) { string roman[4][10] = { { "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX" }, { "", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC" }, { "", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM" }, { "", "M", "MM", "MMM" } }; string res; //res = roman[3][num / 1000] + roman[2][num / 100 % 10] + roman[1][num / 10 % 10] + roman[0][num % 10]; res.append(roman[3][num / 1000]); res.append(roman[2][num % 1000 / 100]); res.append(roman[1][num % 100 / 10]); res.append(roman[0][num % 10]); return res; }};
0 0
- leetcode-012:Integer to Roman
- LeetCode 012 Integer to Roman
- LeetCode 012 Integer to Roman
- [LeetCode]-012-Integer to Roman
- leetcode 012 Integer to Roman
- LeetCode 012 Integer to Roman
- [LeetCode]012-Integer to Roman
- LeetCode 012 Integer to Roman
- LeetCode 012: Integer to Roman
- leetcode-012-Integer to Roman
- LeetCode 012 Integer to Roman
- LeetCode-012 Integer to Roman
- LeetCode Roman to Integer && Integer to Roman
- 【leetcode】Roman to Integer | Integer to Roman
- Leetcode - "Roman to Integer" & "Integer to Roman"
- LeetCode:Roman to Integer,Integer to Roman
- LeetCode Integer to Roman & Roman to Integer
- leetcode - roman to integer & integer to roman
- Python开发工具PyCharm个性化设置
- MySQL存储引擎总结
- java 键盘输入数据
- sql server 定期自动清理日志
- 3proxy安装及配置网络代理的流程
- LeetCode 012: Integer to Roman
- apache sqoop1.99.3+hadoop2.5.2+mysql5.0.7环境构筑以及数据导入导出
- jsp中request传递参数汉字乱码
- 线程安全
- Activity(一)
- HBase1.1.4搭建笔记
- 单例模式 Singleton Pattern
- TensorFlow学习笔记之四——源码分析之基本操作
- 如何在MySQL中设置外键约束以及外键的作用