LeetCode.13. Roman to Integer
来源:互联网 发布:明显淘宝店 编辑:程序博客网 时间:2024/04/29 18:15
我的答案:67.72%
public class Solution { public int romanToInt(String s) { char[] arr=s.toCharArray(); int leng=arr.length; if(leng<2) return change(arr[0]); int sum=change(arr[leng-1]); for(int i=0;i<leng-1;i++){ if(change(arr[i])<change(arr[i+1])){ sum=sum-change(arr[i]); }else{ sum=sum+change(arr[i]); } } return sum; } private static int change(char c) { switch(c){ case 'I': return 1; case 'V': return 5; case 'X': return 10; case 'L': return 50; case 'C': return 100; case 'D': return 500; case 'M': return 1000; } return 0; }}
别人的答案
public class Solution { public int romanToInt(String s) { //:Ⅰ(1)Ⅴ(5)Ⅹ(10)L(50)C(100)D(500)M(1000) // rules:位于大数的后面时就作为加数;位于大数的前面就作为减数 //eg:Ⅲ=3,Ⅳ=4,Ⅵ=6,ⅩⅨ=19,ⅩⅩ=20,ⅩLⅤ=45,MCMⅩⅩC=1980 //"DCXXI" if(s == null || s.length() == 0) return 0; int len = s.length(); HashMap<Character,Integer> map = new HashMap<Character,Integer>(); 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(len -1)); int pivot = result; for(int i = len -2; i>= 0;i--){ int curr = map.get(s.charAt(i)); if(curr >= pivot){ result += curr; }else{ result -= curr; } pivot = curr; } 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】13. Roman to Integer
- Leetcode 13. Roman to Integer
- LeetCode 13. Roman to Integer
- halcon学习笔记——(13)算子_控制
- 怎么用几何画板画60度角
- spring学习错误总结:spring配置applicationContext自动加载配置 之404 cannot find resource
- 记录一个java.util.logging.Logger 使用中关于时间格式的问题
- 算法思想 -- 贪心算法
- LeetCode.13. Roman to Integer
- Android DataBinding 双向绑定
- halcon学习笔记——(14)算子_开发
- 解决在ThinkPHP控制器中命名空间的问题
- MS SQL SERVER导出表结构到Excel
- 放大电路中反馈及类型的判断
- Yii2 日志(log)配置与使用
- halcon学习笔记——实例篇(1)车牌识别
- 6.展现个性,也会成为机会