美文网首页
13. Roman to Integer

13. Roman to Integer

作者: wkhuahuo | 来源:发表于2016-07-20 16:27 被阅读27次

    <p>

    13. Roman to Integer

    Total Accepted: 94716
    Total Submissions: 231835
    Difficulty: Easy

    Given a roman numeral, convert it to an integer.
    Input is guaranteed to be within the range from 1 to 3999.
    </p>
    <code>
    public class RmanToInteger13 {

     public int romanToInt(String s) {
        char[] cArr = s.toCharArray();
        int value=0;
        char max = 'I';
        for(int i=cArr.length-1;i>=0;--i){
            if(getValue(cArr[i])>=getValue(max)){
                value+=getValue(cArr[i]);
                max = cArr[i];
            }else{
                value-=getValue(cArr[i]);
            }
            
        }
        return value;
            
     }
     //I V X L C D M;
     private int getValue(char c){
         int v=0;
         switch(c){
         case 'I': v=1;break;
         case 'V': v=5;break;
         case 'X': v=10;break;
         case 'L': v=50;break;
         case 'C': v=100;break;
         case 'D': v=500;break;
         case 'M': v=1000;break;
         }
         return v;
     }
    
     public static void main(String[] args){
         String str= "DCXXI";//621
         RmanToInteger13 rti = new RmanToInteger13();
         System.out.println(rti.romanToInt(str));
     }
    

    }
    </code>

    相关文章

      网友评论

          本文标题:13. Roman to Integer

          本文链接:https://www.haomeiwen.com/subject/ffivjttx.html