Preguntas diarias sobre el pincel de Leetcode Algoritmos elementales-Preguntas matemáticas-Números romanos a enteros

Requisitos de la asignatura:

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Solución del problema de deducción de mentiras:

Inserte la descripción de la imagen aquí

Código

/**
 * @program: mydemo
 * @description: 罗马数字转整数
 * @author: Mr.zeng
 * @create: 2021-02-24 09:37
 **/
public class Solution35 {
    
    

    public int romanToInt(String s){
    
    
        int sum=0;
        int preNum=getValue(s.charAt(0));
        for (int i = 1; i < s.length(); i++) {
    
    
            int num=getValue(s.charAt(i));
            if(preNum<num){
    
    
                sum-=preNum;
            }else{
    
    
                sum+=preNum;
            }
            preNum=num;
        }
        sum+=preNum;
        return sum;
    }
    private int  getValue(char ch){
    
    
        switch(ch){
    
    
            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;
            default:return 0;
        }
    }
}

Supongo que te gusta

Origin blog.csdn.net/weixin_42292697/article/details/114010614
Recomendado
Clasificación