Roman to Integer
来源:互联网 发布:rxjava 源码 编辑:程序博客网 时间:2024/05/22 10:33
网上大部分参考都是从左往右计算,但是当中有一处要*2,这个没有合适的解释,
遂采用从右往左的计算,
当左边大于等于右边,直接加上左边的值,
当左边小于右边,结果减去当前的值。
public int romanToInt(String s) { if (s == null || s.length() == 0) { return 0; } Map<Character, Integer> map = new HashMap<>(); map.put('I', 1); map.put('V', 5); map.put('X', 10); map.put('L', 50); map.put('C', 100); map.put('D', 500); map.put('M', 1000); int result = map.get(s.charAt(s.length() - 1)); for (int i = s.length() - 2; i >= 0; i--) { //if (map.get(s.charAt(i)) > map.get(s.charAt(i + 1))) { if (map.get(s.charAt(i)) >= map.get(s.charAt(i + 1))) { result = result + map.get(s.charAt(i)); } else { result = result - map.get(s.charAt(i)); } } return result; // for (int i = 0; i < s.length(); i++) { // char c = s.charAt(i); // if (i > 0 && map.get(s.charAt(i - 1)) < map.get(s.charAt(i))) { // result = result - 2*map.get(s.charAt(i - 1)) + map.get(s.charAt(i)); // } else { // result = result + map.get(s.charAt(i)); // } // } // return result; }
0 0
- 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
- Leetcode - "Roman to Integer" & "Integer to Roman"
- LeetCode:Roman to Integer,Integer to Roman
- Integer to Roman and Roman to Integer
- LeetCode Integer to Roman & Roman to Integer
- Roman to Integer/Integer to Roman
- leetcode - roman to integer & integer to roman
- "Roman to Integer" and "Integer to Roman"
- Roman to Integer &&Integer to Roman
- Roman to Integer and Integer to Roman
- Roman to Integer/Integer to Roman
- LeetCode:Roman to Integer
- LeetCode: Integer to Roman
- LeetCode: Roman to Integer
- LeetCode Integer to Roman
- ElasticSearch(七)--请求体查询
- ViewPager与FragmentPagerAdapter实现Tab
- bzoj 2660: [Beijing wc2012]最多的方案 递推
- TS协议解析第二部分(PMT)
- 刷题第七天:南邮NOJ【1014数据的插入与删除】
- Roman to Integer
- apt-get详解
- Log4j2与JNDI结合
- hdu5646(DZY Loves Partition) 划分
- 介绍一个轻量级iOS安全框架:SSKeyChain
- JAVA-WEB开发第三讲[2016-06-04]JAVA环境变量的设置
- Android实训案例(九)——答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程
- CentOS安装openvpn
- 电力电子仿真软件---PLECS