力扣:罗马转整数

cpp 复制代码
#include <iostream>
#include <unordered_map>

using namespace std;

class Solution {
private:
    unordered_map<char, int> symbolValues = {
        {'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 = symbolValues[s[i]];
//            if (i < n - 1 && value < symbolValues[s[i + 1]]) {
              if ( value < symbolValues[s[i + 1]]) {
                ans -= value;
            }
            else {
                ans += value;
            }
        }
        return ans;
    }
};

int main() {
    Solution sol;
    string input = "MCMXCIV";
    int output = sol.romanToInt(input);
    cout << "输入: s = " << input << endl;
    cout << "输出: " << output << endl;

    return 0;
}
相关推荐
西望云天2 分钟前
The 2024 ICPC Asia Nanjing Regional Contest(2024南京区域赛EJKBG)
数据结构·算法·icpc
无敌最俊朗@8 分钟前
C/C++ 关键关键字面试指南 (const, static, volatile, explicit)
c语言·开发语言·c++·面试
10岁的博客10 分钟前
容器化安装新玩法
算法
不会算法的小灰12 分钟前
HTML简单入门—— 基础标签与路径解析
前端·算法·html
利刃大大1 小时前
【高并发服务器】三、正则表达式的使用
服务器·c++·正则表达式·项目
flashlight_hi1 小时前
LeetCode 分类刷题:1901. 寻找峰值 II
python·算法·leetcode
深瞳智检2 小时前
YOLO算法原理详解系列 第007期-YOLOv7 算法原理详解
人工智能·算法·yolo·目标检测·计算机视觉·目标跟踪
小何好运暴富开心幸福2 小时前
C++之再谈类与对象
开发语言·c++·vscode
郝学胜-神的一滴2 小时前
中秋特别篇:使用QtOpenGL和着色器绘制星空与满月
开发语言·c++·算法·软件工程·着色器·中秋