题目:

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。

字符          数值
I             1
V             5
X             10
L             50
C             100
D             500
M             1000
例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做  XXVII, 即为 XX + V + II 。

通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:

I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。 
C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。
给定一个罗马数字,将其转换成整数。

​
class Solution:def romanToInt(self, s: str) -> int:SYMBOL_VALUES = {'I': 1,'V': 5,'X': 10,'L': 50,'C': 100,'D': 500,'M': 1000,}a=0for i, element in enumerate(s):if i<len(s)-1 and SYMBOL_VALUES[s[i]] < SYMBOL_VALUES[s[i+1]]:#如果此时的罗马符号表示的数字比其右边的数字小的话,则左边的数字由加改为减,而右边的数字认为加a -= SYMBOL_VALUES[s[i]]else:a += SYMBOL_VALUES[s[i]]return a​

执行用时:48 ms, 在所有 Python3 提交中击败了75.60%的用户

内存消耗:15 MB, 在所有 Python3 提交中击败了56.65%的用户

通过测试用例:3999 / 3999

罗马字符转整数(python)相关推荐

  1. python统计字符在文件中出现的次数_python字符串中字符出现次数(python获取字符串个数)...

    今天要说的是Python的字符串函数还是很方便的,只需要调用 count() 方法即可. 最近,我在一个网站上看到了一个自然语言处理课程.我详细解释了一些方法的使用,用例很容易理解,所以我想通过我的博 ...

  2. guava和commons_使用Guava CharMatcher和Apache Commons Lang StringUtils确定字符串中字符或整数的存在...

    guava和commons 最近Reddit上的帖子提出了一个问题:" 是否存在一种预定义的方法来检查变量值是否包含特定字符或整数? "基于问题的标题也被以另一种方式问到,&quo ...

  3. 使用Guava CharMatcher和Apache Commons Lang StringUtils确定字符串中字符或整数的存在

    最近Reddit上的帖子提出了一个问题:" 是否存在一种预定义的方法来检查变量值是否包含特定字符或整数? "基于问题的标题也被以另一种方式问到,"一种检查变量是否包含诸如 ...

  4. Python处理txt文件:多句分行+行首尾添加字符+for循环--Python新手自练系列

    Python处理txt文件:多句分行+行首尾添加字符+for循环--Python新手自练系列 总体操作提示: 操作流程图: 准备工作 第一步先对luo.txt进行操作 第二步对yes.txt进行操作 ...

  5. 在python中浮点数怎样转整数_python 浮点数 转 整数python函数每日一讲 - all()

    W WW.002pc .COM对<python 浮点数 转 整数python函数每日一讲 - all()>总结来说,为我们python培训很实用. all(iterable) 版本:该函数 ...

  6. 罗马字符转化为阿拉伯数字

    // test22.cpp : Defines the entry point for the console application. // #include "stdafx.h" ...

  7. python编程比赛初赛 组成最小罗马数字_Python每日一编程小练习(2019.06.13)——罗马数转换为整数...

    题目: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符          数值 I             1 V             5 X             1 ...

  8. python输入一个整数和一个字符_【python零基础入门】基础语法之变量、字符串、数字、规则。...

    本文使用版本python3.8.1,编辑器pycharm. 学习指导书<Python编程--从入门到实践> 1.万恶之首"Hello world" 输入: print( ...

  9. python删除字符串中重复字符_从Python中删除字符串标点符号的最佳方法

    似乎有一个比以下更简单的方法: 1 2 3import string s ="string. With. Punctuation?" # Sample string out = s ...

  10. LeetCode:第13题 罗马数字转整数 python语言实现 2020.2.3

    罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符          数值 I             1 V             5 X             10 L ...

最新文章

  1. Java 多线程爬虫及分布式爬虫架构探索
  2. GIT常用命令以及使用详解图示
  3. 全国计算机二级准考证贵州,贵州计算机二级考试准考证打印时间
  4. linux 音频驱动的流程,Intel平台下Linux音频驱动流程分析
  5. WEB安全基础-Javascrp相关知识点之BOM
  6. parted命令 Linux 分区超过2TB硬盘
  7. opencv出错:error: (-213:The function/feature is not implemented) Unknown/unsupported array type
  8. Linux 用户空间审计系统
  9. canvas lineWidth1px问题
  10. 青蛙跳石头java_Java青蛙跳台阶问题的解决思路与代码
  11. 转发(Forward)和重定向(Redirect)的区别
  12. MTK平台开机初始化时 camera驱动流程|MTK camera调试常见几十种问题处理方法
  13. GD32 mcu sram启动配置方法
  14. python守护进程去中断子进程_04 Python并发编程(守护进程,进程锁,进程队列)
  15. Python 的类(菜鸟教程)
  16. 带负荷测试要求二次最小电流_带负荷测向量简单分析方法
  17. Chrome不自动保存密码,一旦重启浏览器就需要重新填写密码的问题
  18. android字体ratingbar,Android 自定义View之自定义评分选择器RatingBar
  19. unity3d折线图
  20. 基于java SpringBoot的医院门诊管理系统源码和论文

热门文章

  1. 数字图像处理实验之Matlab对图像的基本处理
  2. VS2017创建项目模板和项模板(方便实用)
  3. verilog赋多位值_verilog语句两个always块对同一个变量赋值问题!【恢复】
  4. Win10x64-WDM设备驱动开发入门 - 第六章 VMware-Win10x64+WDK10+VS2015/2019环境搭建与双机调试
  5. ITIL与DevOps
  6. web 开发生产率_11种可帮助Web开发人员克服最后期限的生产力工具
  7. Unity中,图片 替换 光标 —— 疑问解答
  8. 史上最著名的电脑病毒
  9. OneLedger蓄势待发,引爆跨链热点
  10. 计算机英语辅助翻译软件,计算机辅助翻译(CAT)软件 计算机辅助翻译(CAT)软件 v6.3.0.616...