专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

LeetCode 13. 罗马数字转整数

leetcode-cn.com/problems/ro…

81_1.png

81_2.png

思路:和上一题的逆运算,构造一个映射,遍历字符串,如果映射不到回退上一个key

public int romanToInt(String s) {
    // 考虑边界
    if (s == null || s.length() == 0) {
        return 0;
    }

    Map<String, Integer> map = new HashMap<>();
    map.put("I", 1);
    map.put("V", 5);
    map.put("X", 10);
    map.put("L", 50);
    map.put("C", 100);
    map.put("D", 500);
    map.put("M", 1000);
    // 特殊情况
    map.put("IV", 4);
    map.put("IX", 9);
    map.put("XL", 40);
    map.put("XC", 90);
    map.put("CD", 400);
    map.put("CM", 900);

    // MCMXCIV
    int result = 0;
    String cur = String.valueOf(s.charAt(0));
    for (int i = 1; i < s.length(); i++) {
        String tmp = cur + String.valueOf(s.charAt(i));
        if (map.containsKey(tmp)) {
            cur = tmp;
        } else {
            result += map.get(cur);
            cur = String.valueOf(s.charAt(i));
        }
    }
    result += map.get(cur);
    return result;
}

文章永久链接:https://tech.souyunku.com/43451

未经允许不得转载:搜云库技术团队 » LeetCode 13. 罗马数字转整数

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们