zoukankan      html  css  js  c++  java
  • LeetCode 题目十三

    我的解答

    public int romanToInt(String s) {
            
            char[] cs = s.toCharArray();
            
            int arabicINumber = 1;
            int arabicVNumber = 5;
            int arabicXNumber = 10;
            int arabicLNumber = 50;
            int arabicCNumber = 100;
            int arabicDNumber = 500;
            int arabicMNumber = 1000;
            
            int res = 0;
            
            for (int i = 0; i < cs.length; i++) {
                
                switch (cs[i]) {
                
                case 'I':
                    if (i == cs.length - 1){
                        res = res + arabicINumber;
                    } else {
                        if (cs[i + 1] == 'V'){
                            res = res + (arabicVNumber - arabicINumber);
                            i++;
                            continue;
                        }
                        if (cs[i + 1] == 'X'){
                            res = res + (arabicXNumber - arabicINumber);
                            i++;
                            continue;
                        }
                        res = res + arabicINumber;
                    }
                    continue;
                    
                case 'X':
                    if (i == cs.length - 1){
                        res = res + (arabicXNumber);
                    } else {
                        if (cs[i + 1] == 'L'){
                            res = res + (arabicLNumber - arabicXNumber);
                            i++;
                            continue;
                        }
                        if (cs[i + 1] == 'C'){
                            res = res + (arabicCNumber - arabicXNumber);
                            i++;
                            continue;
                        }
                    }
                    continue;
                    
                case 'C':
                    if (i == cs.length - 1){
                        res = res + (arabicCNumber);
                    } else {
                        if (cs[i + 1] == 'D'){
                            res = res + (arabicDNumber - arabicCNumber);
                            i++;
                            continue;
                        }
                        if (cs[i + 1] == 'M'){
                            res = res + (arabicMNumber - arabicCNumber);
                            i++;
                            continue;
                        }
                    }
                    continue;
                    
                case 'V':
                    res = res + (arabicVNumber);
                    continue;
                    
                case 'L':
                    res = res + (arabicLNumber);
                    continue; 
                    
                case 'D':
                    res = res + (arabicDNumber);
                    continue; 
                    
                case 'M':
                    res = res + (arabicMNumber);
                    continue; 
    
                }
            }
            
            return res;
            
        }
  • 相关阅读:
    Promise对象
    前端跨域处理
    ajax
    增删改查
    2018牛客暑假多校三 E(KMP运用)
    2018牛客暑假多校三 C (平衡树)
    2018牛客暑假多校三 A(01背包)
    HDU 6315 (2018多校第二场)(线段树)
    2018暑假牛客多校二 C(凸包)
    HDU 6299(多校第一场B)(贪心)
  • 原文地址:https://www.cnblogs.com/zhangqian27/p/10969081.html
Copyright © 2011-2022 走看看