[LeetCode12]Integer to Roman
来源:互联网 发布:linux xampp 启动界面 编辑:程序博客网 时间:2024/05/17 05:06
Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
Analysis:
The key point is how to handle every digit.
1<=digit<=3
digit=4
digit =5
5<digit<=8
digit = 9
Java
public String intToRoman(int num) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. String[] symbol ={"I","V","X","L","C","D","M"}; String roman=""; int scale = 1000; for(int i=6;i>=0;i-=2){ int digit = num/scale; if(digit!=0){ if(digit<=3) while((digit--)>0) roman+=symbol[i]; else if(digit == 4){ roman+=symbol[i]; roman+=symbol[i+1]; } else if(digit ==5) roman+=symbol[i+1]; else if(digit <=8){ roman+=symbol[i+1]; while(((digit--)-5)>0) roman+=symbol[i]; } else if(digit ==9){ roman+=symbol[i]; roman+=symbol[i+2]; } } num = num%scale; scale/=10; } return roman; }c++
string intToRoman(int num) { char symbol[7] = {'I','V','X','L','C','D','M'}; string roman; int scale = 1000; for(int i=6;i>=0;i-=2){ int digit = num/scale; if(digit!=0){ if(digit<=3){ roman.append(digit,symbol[i]); }else if(digit == 4){ roman.append(1,symbol[i]); roman.append(1,symbol[i+1]); }else if(digit == 5){ roman.append(1,symbol[i+1]); }else if(digit<=8){ roman.append(1,symbol[i+1]); roman.append(digit-5,symbol[i]); }else if(digit == 9){ roman.append(1,symbol[i]); roman.append(1,symbol[i+2]); } } num = num%scale; scale /=10; } return roman; }
0 0
- LeetCode12: Integer to Roman
- [LeetCode12]Integer to Roman
- leetcode12 Integer to Roman
- leetcode12 Integer to Roman
- LeetCode12:Integer to Roman
- LeetCode12. Integer to Roman
- leetcode12 Integer to Roman
- Leetcode12. Integer to Roman
- LeetCode12:Integer to Roman
- leetcode12. Integer to Roman
- LeetCode12. Integer to Roman
- leetcode12. Integer to Roman
- LeetCode12. Integer to Roman不用任何数据结构和数组
- LeetCode12~14 Integer to Roman/Roman to Integer/Longest Common Prefix
- Integer to Roman & Roman to Integer
- Integer to Roman & Roman to Integer
- LeetCode Roman to Integer && Integer to Roman
- 【leetcode】Roman to Integer | Integer to Roman
- 解决The current branch is not configured for pull No value for key branch.master.merge found in config
- swift笔记——环境搭建及Hello,Swift!
- MongoDB的日常维护管理
- 代码详解java发送邮件
- MySQL之慢查询-删除慢查询日志
- [LeetCode12]Integer to Roman
- android源代码分析二:Android AIDL使用详解
- varnish 的配置文件详细解析(VCL详解)
- 设计模式-代理模式
- 好用的xshell颜色配置
- iOS开发- 隐藏键盘总结
- 集团信息化“润物细无声”
- mysql fabric
- 数据库的基本操作