[LeetCode] Integer to Roman 解题报告
来源:互联网 发布:知耻而后勇是什么意思 编辑:程序博客网 时间:2024/05/29 04:05
[题目]
Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
[中文翻译]
给定一个整数,将其转换为罗马数字。
输入保证在1到3999的范围内。
[解题思路]
一开始错了几次,然后发现罗马数字的规则还是挺复杂的。
原本是打算找一下随着数值增加,对应的罗马数字变化规律的,似乎不太靠谱。
好在输入保证在1到3999范围内,对于每一个进制位上,罗马数字的展开还是有规则的,所以照着规则写就好了。
规则见代码就行,这里就不详细叙述了。
[C++代码]
class Solution {public: string intToRoman(int num) { string res; switch (num / 1000) { case 1: res = "M"; break; case 2: res = "MM"; break; case 3: res = "MMM"; break; default: break; } num = num % 1000; switch (num / 100) { case 1: res += "C"; break; case 2: res += "CC"; break; case 3: res += "CCC"; break; case 4: res += "CD"; break; case 5: res += "D"; break; case 6: res += "DC"; break; case 7: res += "DCC"; break; case 8: res += "DCCC"; break; case 9: res += "CM"; break; default: break; } num = num % 100; switch (num / 10) { case 1: res += "X"; break; case 2: res += "XX"; break; case 3: res += "XXX"; break; case 4: res += "XL"; break; case 5: res += "L"; break; case 6: res += "LX"; break; case 7: res += "LXX"; break; case 8: res += "LXXX"; break; case 9: res += "XC"; break; default: break; } num = num % 10; switch (num) { case 1: res += "I"; break; case 2: res += "II"; break; case 3: res += "III"; break; case 4: res += "IV"; break; case 5: res += "V"; break; case 6: res += "VI"; break; case 7: res += "VII"; break; case 8: res += "VIII"; break; case 9: res += "IX"; break; default: break; } return res; }};
0 0
- 【LeetCode】Integer to Roman 和 Roman to Integer 解题报告
- 【LeetCode】Integer to Roman 和 Roman to Integer 解题报告
- [LeetCode]Roman to Integer,解题报告
- [LeetCode]Integer to Roman,解题报告
- LeetCode解题报告--Integer to Roman
- LeetCode解题报告--Roman to Integer
- 【LeetCode】Roman to Integer 解题报告
- 【LeetCode】Integer to Roman 解题报告
- [leetcode] 13. Roman to Integer 解题报告
- [LeetCode] Integer to Roman 解题报告
- [LeetCode] Roman To Integer 解题报告
- [leetcode] 12. Integer to Roman 解题报告
- LeetCode 13. Roman to Integer 解题报告
- LeetCode 12. Integer to Roman 解题报告
- [Leetcode] 12. Integer to Roman 解题报告
- [Leetcode] 13. Roman to Integer 解题报告
- [LeetCode] Integer to Roman 解题报告
- [LeetCode] Roman to Integer 解题报告
- VTK读取一个TXT文档中的三维点坐标显示三维点云
- [半平面交] BZOJ1007: [HNOI2008]水平可见直线
- Ubuntu下修改文件夹权限
- 应用程序段错误调试
- jpa多表查询 HQL
- [LeetCode] Integer to Roman 解题报告
- 《Docker……》笔记-9 Docker 安全
- 我们为什么要用fitsSystemWindows?
- LeetCode225—Implement Stack using Queues
- 详述 Java 语言中的 String、StringBuffer 和 StringBuilder 的区别及用法
- SSL 2352_面积_bfs
- 系统广播小案例
- 40. Combination Sum II
- RNN(LSTM)处理文本资料总结