Leetcode 13 Roman to Integer
来源:互联网 发布:生日祝福网页源码html 编辑:程序博客网 时间:2024/05/15 04:53
Roman to Integer
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
Solution
- 基本思路是将字符串中的每一个字母代表的数都加起来,但是有一种情况例外,就是当较小的单位出现在较大单位的左边时,表示要减去这个较小单位,这样一想,整个思路便特别清晰了。代码如下:
import java.util.HashMap;public class Solution { public int romanToInt(String s) { HashMap<Character,Integer> digits = new HashMap<Character,Integer>(); char[] roman = {'I','V','X','L','C','D','M'}; int[] dig = {1,5,10,50,100,500,1000}; for(int i=0;i<7;i++) digits.put(roman[i],dig[i]); int result = 0; for(int i=0;i<s.length();i++){ int digit = digits.get(s.charAt(i)); if(i+1<s.length()&&digits.get(s.charAt(i+1))>digit) result -= digit;//如果下一个单位比当前单位大的时候,要用减 else result += digit; } return result; }}
0 0
- leetcode-13:Roman to Integer
- leetcode 13 Roman to Integer
- Leetcode【13】:Roman to Integer
- [leetcode 13] Roman to Integer
- [Leetcode] 13 - Roman to Integer
- LeetCode | #13 Roman to Integer
- leetcode.13---------Roman to Integer
- leetCode #13 Roman to Integer
- leetcode-13 Roman to Integer
- leetcode 13 Roman to Integer
- LeetCode 13 Roman to Integer
- LeetCode 13 - Roman to Integer
- leetcode 13 -- Roman to Integer
- LeetCode 13:"Roman to Integer"
- LeetCode---(13)Roman to Integer
- leetcode-13Roman to Integer
- leetcode 13: Roman to Integer
- Leetcode 13 Roman to Integer
- C - The C Answer (2nd Edition) - Exercise 1-13
- IRC相关频道
- VS2013 API方法连接 64位 MySQL56
- HDU 1048 The Hardest Problem Ever
- 黑马程序员——集合框架(泛型限定)
- Leetcode 13 Roman to Integer
- 自己写的一个servlet Dispatchar,便于在osgi使用(一)
- 微信支付商户发放现金红包操作说明
- Unix环境高级编程中这么描述文件系统
- group分组之后要求统计count问题
- WebService基本
- web自学
- Sublime安装与使用
- 【YII2学习笔记】20150725-1