leetcode_Roman to Integer
来源:互联网 发布:mac如何隐藏下面的菜单 编辑:程序博客网 时间:2024/06/07 01:07
描述:
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
思路:
1.就像脑筋急转弯一样,这一题还真的搞了好久,主要是没想明白思路,现在再回过头去看代码,显而易见,或许这才是制造和创造的区别吧
2.大致过程就是一个循环,当currentChar的量级小于nextChar的量级时,直接加上nextChar的量级和currentChar的量级之差即可,其它的情况直接加上currentChar的量级,罗马数字就类似字符串的形式
3.另:这也就是有计算机才可以这么算,这对普通人来说得多麻烦啊,罗马数字很啰嗦。
代码:
public int romanToInt(String s) { char chArr[]={'I','V','X','L','C','D','M','i','v','x','l','c','d','m'}; int numArr[]={1,5,10,50,100,500,1000,1,5,10,50,100,500,1000}; HashMap<Character, Integer>map=new HashMap<Character, Integer>(); for(int i=0;i<chArr.length;i++ ) map.put(chArr[i], numArr[i]); int j=0; int strLen=s.length(); char curCh,nextCh; int sum=0; for(int i=0;i<strLen;i++) { curCh=s.charAt(i); j=i+1; if(j<strLen) { nextCh=s.charAt(j); if(map.get(curCh)<map.get(nextCh))//如果当前字符所代表的权值小于下一个字符所代表的权值 { sum+=map.get(nextCh)-map.get(curCh); i=j;//一次循环跳过两个字符 }else { sum+=map.get(curCh);} }else {sum+=map.get(curCh);//判断最后的字符} } return sum; }
0 0
- Leetcode_roman-to-integer
- LeetCode_Roman to Integer
- leetcode_Roman to Integer
- leetcode_Roman to Integer_easy_可以看看方法
- 【Integer转换】Integer to Roman
- string to integer & integer to string
- 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
- ubuntu安装flash插件
- JQuery datatable
- setsockopt结构体分析
- js中数组的去重
- EasyUI学习笔记8:MIS开发利器_ datagrid插件(下)(终结篇)
- leetcode_Roman to Integer
- C# 删除时弹出提示框操作
- 云 + 端并重,柚子科技 APICloud 要做传统服务 B/S 架构到 Apps 转型的催化剂
- 用jQuery判断页面元素是否存在的方法
- 解决IllegalStateException: Can not perform this action after onSaveInstanceState
- Android详细的对话框AlertDialog.Builder小示例
- 2015 多校联赛 ——HDU5373(模拟)
- Jedis相关操作
- isis dce接收到报文的流程