力扣13 罗马数字转整数

题目


知识点

unordered_map------链接


思路

左边比右边大用加法,左边比右边小用减法


题解

unordered_map私有化

复制代码
class Solution {
private:
unordered_map<char,int> symbolValue = {
    {'I',1},
    {'V',5},
    {'X',10},
    {'L',50},
    {'C',100},
    {'D',500},
    {'M',1000},
};
public:
    int romanToInt(string s) {
        int ans = 0;
        int n = s.length();
        for(int i = 0; i<n ;i++){
            int value = symbolValue[s[i]];
            if(i<n-1 && value<symbolValue[s[i+1]]){
                ans = ans - value;
            }else{
                ans = ans + value;
            }
        }
        return ans;
    }
};
相关推荐
2301_810160952 小时前
C++与物联网开发
开发语言·c++·算法
cm6543202 小时前
基于C++的操作系统开发
开发语言·c++·算法
ArturiaZ2 小时前
【day57】
开发语言·c++·算法
CoovallyAIHub2 小时前
Energies | 8版YOLO对8版Transformer实测光伏缺陷检测,RF-DETR-Small综合胜出
深度学习·算法·计算机视觉
Emberone2 小时前
排序:万物皆有序
算法·排序算法
其实秋天的枫2 小时前
2025年12月英语六级真题及答案解析完整版(第一、二、三套全PDF)
经验分享·算法
2401_874732532 小时前
C++并发编程中的死锁避免
开发语言·c++·算法
2301_792308252 小时前
C++编译期数学计算
开发语言·c++·算法
hetao17338372 小时前
2025-03-13~22 hetao1733837 的刷题记录
c++·算法