LeetCode | 13.罗马数字转整数

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

class Solution(object):
    def romanToInt(self, s):
        """
        :type s: str
        :rtype: int
        """
        result = 0

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

        for i in range(len(s)-1):
            if dict[s[i]] < dict[s[i + 1]]:
                result -= dict[s[i]]
            else:
                result += dict[s[i]]
        result += dict[s[-1]]

        return result

这道题其实比较好理解,通常情况下,罗马数字中小的数字在大的数字的右边,一般来说有几个罗马数字就对应加相应的数字几次,但是也有特例,比如题目中提到的特殊的规则

在这里插入图片描述
一开始我想着枚举出所有可能出现的枚举组合,但是转念一想,组合似乎有点多,而且想复杂了,这种特殊的情况其实就是代表小的数在代表大的数字的后面,呈现出了一种逆序的关系,只要顺序就直接相加,逆序就减掉那个小的,再加上大的就ok了

在这里插入图片描述

相关推荐

  1. [LeetCode] 12. 整数罗马数字

    2024-06-07 15:10:02       46 阅读
  2. [leetcode] 12. 整数罗马数字

    2024-06-07 15:10:02       195 阅读
  3. LeetCode 12整数罗马数字

    2024-06-07 15:10:02       26 阅读
  4. leetCode算法—13. 罗马数字整数

    2024-06-07 15:10:02       68 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-07 15:10:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-07 15:10:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-07 15:10:02       82 阅读
  4. Python语言-面向对象

    2024-06-07 15:10:02       91 阅读

热门阅读

  1. 【无题】互联网时代,问题何去何从?

    2024-06-07 15:10:02       33 阅读
  2. 免费时间戳服务器url

    2024-06-07 15:10:02       38 阅读
  3. 如何开发地块建模

    2024-06-07 15:10:02       28 阅读
  4. 考上民办要不要去上

    2024-06-07 15:10:02       24 阅读
  5. 手机如何开启开发者选项? (小米为例)

    2024-06-07 15:10:02       68 阅读
  6. 未授权与绕过漏洞

    2024-06-07 15:10:02       23 阅读
  7. 嵌入式学习——3——域套接字UNIX

    2024-06-07 15:10:02       24 阅读
  8. FFmpeg 使用文档介绍二:命令行选项

    2024-06-07 15:10:02       26 阅读
  9. 延迟队列的时间轮算法实现

    2024-06-07 15:10:02       30 阅读
  10. 如何看待知乎入局 「AI整合商」 赛道

    2024-06-07 15:10:02       28 阅读
  11. PostgreSQL Windows 数据库主从模式 热同步

    2024-06-07 15:10:02       31 阅读