Python | Leetcode Python题解之第13题罗马数字转整数

题目:

题解:

python 复制代码
class Solution:

    SYMBOL_VALUES = {
        'I': 1,
        'V': 5,
        'X': 10,
        'L': 50,
        'C': 100,
        'D': 500,
        'M': 1000,
    }

    def romanToInt(self, s: str) -> int:
        ans = 0
        n = len(s)
        for i, ch in enumerate(s):
            value = Solution.SYMBOL_VALUES[ch]
            if i < n - 1 and value < Solution.SYMBOL_VALUES[s[i + 1]]:
                ans -= value
            else:
                ans += value
        return ans
相关推荐
汤姆yu11 分钟前
基于springboot的电子政务服务管理系统
开发语言·python
执笔论英雄43 分钟前
【RL】python协程
java·网络·人工智能·python·设计模式
帮帮志2 小时前
【AI大模型对话】流式输出和非流式输出的定义和区别
开发语言·人工智能·python·大模型·anaconda
jquerybootstrap2 小时前
大地2000转经纬度坐标
linux·开发语言·python
Y***89082 小时前
【JAVA进阶篇教学】第十二篇:Java中ReentrantReadWriteLock锁讲解
java·数据库·python
DanB243 小时前
Java(多线程)
java·开发语言·python
战南诚3 小时前
Python函数式编程
开发语言·python
算法与编程之美3 小时前
Java数组动态扩容
java·开发语言·python·算法
weixin_462446233 小时前
【原创实践】python版playwright截取多个图
开发语言·python·策略模式
2301_764441333 小时前
三维建筑非法入侵情景推演
python·学习·算法