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
相关推荐
MoRanzhi12033 小时前
Pillow 图像算术运算与通道计算
图像处理·人工智能·python·计算机视觉·pillow·图像差异检测·图像算术运算
滴滴答滴答答3 小时前
机考刷题之 12 LeetCode 684 冗余的边
算法·leetcode·职场和发展
codeyanwu3 小时前
LeetCode Hot 100 -- 图论
leetcode·深度优先·图论
怪侠_岭南一只猿3 小时前
爬虫阶段三实战练习题二:使用 Selenium 模拟爬取拉勾网职位表
css·爬虫·python·selenium·html
前端付豪3 小时前
自动学习建议解决薄弱知识点
前端·python·openai
deephub3 小时前
LangGraph vs Semantic Kernel:状态图与内核插件的两条技术路线对比
人工智能·python·深度学习·大语言模型·agent
与虾牵手3 小时前
多轮对话 API 怎么实现?从原理到代码,踩完坑我总结了这套方案
python·aigc·ai编程
geovindu4 小时前
python: Simple Factory Pattern
开发语言·python·设计模式·简单工厂模式
We་ct4 小时前
LeetCode 17. 电话号码的字母组合:回溯算法入门实战
前端·算法·leetcode·typescript·深度优先·深度优先遍历
吃着火锅x唱着歌4 小时前
LeetCode 447.回旋镖的数量
算法·leetcode·职场和发展