leetcode13.罗马数字转整数

遍历,下一个值不大于当前值就加上当前值,否则就减去当前值

java 复制代码
class Solution {
    public int romanToInt(String s) {
        Map<Character, Integer> map = Map.of(
                'I', 1,
                'V', 5,
                'X', 10,
                'L', 50,
                'C', 100,
                'D', 500,
                'M', 1000
        );
        int sum = 0;
        for (int i = 0; i < s.length(); i++) {
            Integer curVal = map.get(s.charAt(i));
            if (i + 1 < s.length() && curVal < map.get(s.charAt(i + 1))) {
                sum -= curVal;
            } else {
                sum += curVal;
            }
        }
        return sum;
    }
}
相关推荐
qq_33446686几秒前
excel VBA应用
java·服务器·excel
E_ICEBLUE2 分钟前
快速合并 Excel 工作表和文件:Java 实现
java·microsoft·excel
qq_2148032910 分钟前
ArcGIS Runtime与GeoTools融合实践:加密SHP文件的完整读写方案
java·安全·arcgis
Mr_Oak13 分钟前
【multi-model】moco系列&SimCLR&BEiT
人工智能·深度学习·神经网络·算法·计算机视觉·transformer·对比学习
Juchecar24 分钟前
Spring是Java语境下的“最优解”的原因与启示
java·spring·node.js
邪恶喵喵24 分钟前
Tomcat和负载均衡
java·tomcat·负载均衡
尼古拉斯·纯情暖男·天真·阿玮25 分钟前
动态规划——子序列问题
java·算法·动态规划
代码不停31 分钟前
Java中文件操作和IO
java
夏天的味道٥32 分钟前
IDEA 开发工具常用插件整理
java·ide·intellij-idea
勇者无畏4041 小时前
基于 Spring AI Alibaba 搭建 Text-To-SQL 智能系统(初始化)
java·后端·spring