将给出的整数x翻转_每日一题:1.罗马数字转整数
罗马数字包含以下七种字符: 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。
给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内。
这是一道很简单的题目,因为是给出罗马数字计算,所以至少要遍历一遍是免不了的。只要我们赋给相应字符串于整数,然后注意其中特殊情况的减法相当于两个字符为一个数字,就很容易实现计算,下面直接给出代码。
class Solution(object):def romanToInt(self, s):a = 0n = len(s)i= 0dict1 = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000}""":type s: str:rtype: int"""while(i<=n-1):if i < n-1 : if (s[i] == 'I' and (s[i + 1] == 'V' or s[i + 1] == 'X')):a = a + (-dict1[s[i]]) + dict1[s[i + 1]]i = i + 2continueif (s[i] == 'X' and (s[i + 1] == 'L' or s[i + 1] == 'C')):a = a + (-dict1[s[i]]) + dict1[s[i + 1]]i = i + 2continueif (s[i] == 'C' and (s[i + 1] == 'D' or s[i + 1] == 'M')):a = a + (-dict1[s[i]]) + dict1[s[i + 1]]i = i + 2continuea = a + dict1[s[i]]i= i+1else:a = a + dict1[s[i]]i= i+1return a
请注意代码中
里面的判断条件没有到输入字符串的最后一个原因是,我们要扫描每个元素的后一个元素,如果设置到了末尾元素,那么元组就会越界,在python3里会报错。
将给出的整数x翻转_每日一题:1.罗马数字转整数相关推荐
- 【每日一算法】罗马数字转整数
微信改版,加星标不迷路! 每日一算法-罗马数字转整数 作者:阿广 阅读目录 1 题目 2 解析 1 题目 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值I 1 V 5 ...
- 和与余数的和同余理解_每日一题 | 第38期:数量关系之余数特性
从今天起"每日一题"栏目就正式更新啦~ 由福瑞和教育的主讲老师 每天给大家带来公考不同考试版块的干货资料! 旨在潜移默化中给大家培养公考解题思维,提高做题速度! 大家遇到不明白的题 ...
- 山体等高线怎么看_每日一题 | 此处向斜山,你看出来了吗?
每日一题 | 此处向斜山,你看出来了吗? (2018·江苏高考)如图为某区域地质简图.该区沉积地层有Q.P.C.D.S2.S1,其年代依次变老.读图回答1-2题. 1.从甲地到乙地的地形地质剖面示意图 ...
- LeetCode题 - 13 罗马数字转整数
罗马数字转整数 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 I ...
- 递增的整数序列链表的插入_每日算法题 | 剑指offer 链表专题 (5)链表中倒数第k个节点...
点击上方"Jerry的算法和NLP",选择"星标"公众号 重磅干货,第一时间送达 题目 链表中倒数第k个节点 题目要求 输入一个链表的头结点,从尾到头反过来打印 ...
- python3不再区分整数和长整数_【判断题】Python3中不再区分整数和长整数,统一为int。...
[判断题]Python3中不再区分整数和长整数,统一为int. 更多相关问题 [多选] 热轧钢材轧后冷却的目的(). [多选] 粗轧最大侧压量受()等工况条件的限制. [判断题] 电压互感器的额定二次 ...
- python整数运算定律_四年级数学知识点总结-05整数四则运算及定律
撰文:喵喵君 审校:Mystic 一.整数加法 1.意义:把两个或多个数合并起来的运算叫做加法: 2.各部分关系:加法运算中,用加号连接起来的数称作加数,加数的总和或者等号后面的数称作和: 3.加数+ ...
- source tree 递归子模块_每日刷题3--漫谈二叉树的递归遍历
leetcode 特点1 虽然是从root开始,但是 严重依赖从下到上的反馈的数据 ,例如求tree的高度 题目1 最近公共祖先(LCA) 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先. 百 ...
- Leetcode 25 K个一组翻转链表 (每日一题 20210719)
给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表.k 是一个正整数,它的值小于或等于链表的长度.如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序.进阶:你可以设计一个只 ...
最新文章
- 帆软所有销量为0的显示为空值_市场上最流行的9款跨境电商亚马逊销量预估工具精准度报告详解!...
- co88 sap 实际结算_SAP中有关差异的一些概念
- 理解 CSS 布局和块级格式上下文
- 卸载linux系统装win,如何在计算机上删除 Linux 并安装 Windows
- .net程序员的盲点(八):泛型
- Mac 完全卸载 Java
- Windows phone 8 学习笔记(4) 应用的启动
- MATLAB统计与回归
- sqlmap的简单用法
- Qt学习笔记-Qt中OpenGL的使用
- 石河子大学计算机学院宿舍,对于那些想去211石河子大学的同学给你一点建议
- hudson构建配置
- 洛谷-P1425-小鱼的游泳时间
- roce流量抓包 linux,roce性能测试方法
- 软件测试可以分为哪几个类型?
- 哪款蓝牙耳机适合吃鸡?盘点2022适合苹果吃鸡的蓝牙耳机
- 国企面试-260题-单选题 下列哪组成语反映了同一种人际关系: A 琴瑟和鸣 破镜重圆 B 负荆请罪 载舟覆舟 C 结草衔环 青梅竹马 D 相濡以沫 舐犊情深
- 小红书品牌投放监测之竞品对比
- 【Python】《Python语言程序设计》(嵩天 、黄天羽 、礼欣)测验单项选择题答案与解析合辑
- 住院管理系统数据库课程设计