13 Roman to Integer
2015-11-06 20:37
411 查看
思路:
如果小的在大的前面,就是减
如果小的在大的前面,就是减
public static int romanToInt(String s) { String[] str = { "I", "V", "X", "L", "C", "D", "M" }; int[] nums = { 1, 5, 10, 50, 100, 500, 1000 }; Map<String, Integer> map = new HashMap<String, Integer>(); for (int i = 0; i < str.length; i++) { map.put(str[i], nums[i]); } int result = 0; int length = s.length(); result = map.get(s.charAt(length - 1) + ""); for (int i = length - 2; i >= 0; i--) { if (map.get(s.charAt(i) + "") < map.get(s.charAt(i + 1) + "")) { result -= map.get(s.charAt(i) + ""); } else { result += map.get(s.charAt(i) + ""); } } return result; }
相关文章推荐
- SpringMVC 学习系列 (5) 之 数据绑定 -2
- Kinect+Unity之手势识别初探
- C#实现插入排序算法(Insection Sort)
- RelativeLayout属性
- ul li span addClass removeClass
- swift 2.0 语法 函数
- swift 2.0 语法 字符串
- java的相关特性理解
- /etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc
- SpringMVC 学习系列 (4) 之 数据绑定 -1
- swift 2.0 语法 字典
- swift 2.0 语法 数组
- 收心收心收心 回归CSDN
- 译:2015年前5名pythonGUI框架
- mysql存储过程详解
- ios 原生二维码扫描以及需要注意事项
- SpringMVC 学习系列 (3) 之 URL请求到Action的映射规则
- HTTP Referer 防外链
- 论文发表经验
- HDU - 4333 Revolving Digits(拓展kmp+最小循环节)