12. Integer to Roman 和 13. Roman to Integer
来源:互联网 发布:郝斌c语言不压缩百度云 编辑:程序博客网 时间:2024/05/01 18:33
Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
把一个数字变成罗马数字,直接递归暴力,代码有点丑23333
class Solution {public: string intToRoman(int num) { if(num >= 1000) return "M" + intToRoman(num - 1000); if(num <= 999 && num >= 900) return "CM" + intToRoman(num - 900); if(num <= 899 && num >= 800) return "DCCC" + intToRoman(num - 800); if(num <= 799 && num >= 700) return "DCC" + intToRoman(num - 700); if(num <= 699 && num >= 600) return "DC" + intToRoman(num - 600); if(num <= 599 && num >= 500) return "D" + intToRoman(num - 500); if(num <= 499 && num >= 400) return "CD" + intToRoman(num - 400); if(num <= 399 && num >= 300) return "CCC" + intToRoman(num - 300); if(num <= 299 && num >= 200) return "CC" + intToRoman(num - 200); if(num <= 199 && num >= 100) return "C" + intToRoman(num - 100); if(num <= 99 && num >= 90) return "XC" + intToRoman(num - 90); if(num <= 89 && num >= 80) return "LXXX" + intToRoman(num - 80); if(num <= 79 && num >= 70) return "LXX" + intToRoman(num - 70); if(num <= 69 && num >= 60) return "LX" + intToRoman(num - 60); if(num <= 59 && num >= 50) return "L" + intToRoman(num - 50); if(num <= 49 && num >= 40) return "XL" + intToRoman(num - 40); if(num <= 39 && num >= 30) return "XXX" + intToRoman(num - 30); if(num <= 29 && num >= 20) return "XX" + intToRoman(num - 20); if(num <= 19 && num >= 10) return "X" + intToRoman(num - 10); if(num == 9) return "IX"; if(num == 8) return "VIII"; if(num == 7) return "VII"; if(num == 6) return "VI"; if(num == 5) return "V"; if(num == 4) return "IV"; if(num == 3) return "III"; if(num == 2) return "II"; if(num == 1) return "I"; return ""; }};
13是把罗马数值变成普通的数字233333,我直接贴别人的代码了233333
class Solution {public: int getVal(char a){ switch (a) { case 'I': return 1; case 'V': return 5; case 'X': return 10; case 'L': return 50; case 'C': return 100; case 'D': return 500; case 'M': return 1000; } return 0;}int romanToInt(string s){ int res = 0; char max = 'I'; for (int i = s.size()-1; i >= 0; --i) { if (getVal(s[i]) >= getVal(max)) { max = s[i]; res += getVal(s[i]); } else { res -= getVal(s[i]); } } return res;}};
0 0
- 12. Integer to Roman 和 13. Roman to Integer
- LeetCode 13. Roman to Integer和12. Integer to Roman
- 12. Integer to Roman&&13. Roman to Integer
- LeetCode 12. Integer to Roman & 13. Roman to Integer
- 【LeetCode】13. Roman to Integer && 12. Integer to Roman
- Leetcode 13. Roman to Integer & 12. Integer to Roman
- 12. Integer to Roman 13. Roman to Integer
- 12. Integer to Roman \ 13. Roman to Integer
- 【LeetCode】13. Roman to Integer && 12. Integer to Roman
- Leetcode #12. Integer to Roman & #13. Roman to Integer
- 13. Roman to Integer &&12. Integer to Roman
- LeetCode-12. Integer to Roman-13. Roman to Integer
- 12.Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 性能分析系列——小命令保证大性能
- Python与医疗图像2
- JAVA利用POI实现excel的导入导出
- 深入理解 Android 中的Matrix
- SpringMVC从入门到精通(终结版)
- 12. Integer to Roman 和 13. Roman to Integer
- Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide五大Android开源组件加载网络图片的优缺点比较
- UVA 10152 ShellSort
- 奇偶个数-week3-C语言习题集
- 使用Keytool工具生成证书Keystore和证书签名请求文件
- r语言之棘状图spinogram与堆砌条形图
- 如何用智能手机监控CAN总线设备?
- 神经网络:表示
- JAVA反射详解