Integer to Roman
2015-10-09 15:27
330 查看
题目
Given an integer, convert it to a roman numeral.Input is guaranteed to be within the range from 1 to 3999.
解题思路
从低位到高位分解数的每一位,然后用罗马字符串表示该位上的数,需要注意的是每次都从串头插入。因为输入数据的取值范围很小,所以可以把每位上9个数的罗马串提前存起来。
代码
public class Solution { public String intToRoman(int num) { String[][] table ={{"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"}}; StringBuffer sb=new StringBuffer(); int n; for(int i=0;num!=0;num/=10,++i) { n=num%10; if(n!=0) sb.insert(0,table[i][n-1]); } return sb.toString(); } }
运行结果
相关文章推荐
- 【转】使用dos2unix批量转换文件
- 关于webstorm(phpstorm)设置了编码格式之后还是乱码的问题
- linux动态链接库的编译及使用<二>
- LeetCode——Word Pattern的JavaScript的实现
- od命令 查看文件的二进制内容
- 如何取消use as source folder
- 如何加载控制器View
- linux系统的CPU和memory监视
- Android:@id和@+id
- 移动端的touch事件处理
- 给出一个循环双链表,p指向第一个元素值为x的节点,设计算法删除节点*p
- MFC 108问题
- 安装事件过滤器(installEventFilter) ,过滤子控件事件,截获控件按键、鼠标事件
- 快速排序
- Android中动画效果alpha、translate、scale、rotate基本使用方法
- Android Fragment 真正的完全解析(上)
- KJBitmap与KJHttp的深度用法
- Unity 使用JsonFx解析本地json数据
- 使用make更新静态库文件
- android工程实现换壁纸功能(转)