LeetCode - 12. Integer to Roman
2016-07-14 22:25
302 查看
这道题目其实并没有什么太多可说的,因为罗马数字的写法本身就不了解,所以在discuss版看了看其他同学的解法。感觉这位同学的解法非常不错,很好的利用了%,/计算的性质和数组下标的性质。代码如下:
public class Solution {
public String intToRoman(int num) {
String[] M = {"", "M", "MM", "MMM"};
String[] C = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
String[] X = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
String[] I = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
return M[num / 1000] + C[(num % 1000) / 100] + X[(num % 100) / 10] + I[num % 10];
}
}
注意这道题目可以进行一定的扩展,不仅仅是罗马数字的问题,遇到将数字按位转化成另外某种形式的问题都可以采用这种方法,记住这种思想。
public class Solution {
public String intToRoman(int num) {
String[] M = {"", "M", "MM", "MMM"};
String[] C = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
String[] X = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
String[] I = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
return M[num / 1000] + C[(num % 1000) / 100] + X[(num % 100) / 10] + I[num % 10];
}
}
注意这道题目可以进行一定的扩展,不仅仅是罗马数字的问题,遇到将数字按位转化成另外某种形式的问题都可以采用这种方法,记住这种思想。
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- android上改变listView的选中颜色
- String.intern
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- Redis02 使用Redis数据库(String类型)全面解析
- 微软Word 2007数学插件 Microsoft Math 提供下载
- PostgreSQL ERROR: invalid escape string 解决办法
- 关于C# Math 处理奇进偶不进的实现代码
- 浅谈C++中的string 类型占几个字节
- 标准C++类string的Copy-On-Write技术
- C++实现string存取二进制数据的方法
- C#中string和StingBuilder内存中的区别实例分析
- 详解C++中实现继承string类的MyString类的步骤
- PHP STRING 陷阱原理说明
- c#中 String和string的区别介绍
- C#实现的图片、string相互转换类分享
- asp.net String.IsNullOrEmpty 方法