罗马数字包含以下七种字符: 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 的范围内。

示例 1:

输入: 3
输出: "III"
示例 2:

输入: 4
输出: "IV"
示例 3:

输入: 9
输出: "IX"
示例 4:

输入: 58
输出: "LVIII"
解释: L = 50, V = 5, III = 3.
示例 5:

输入: 1994
输出: "MCMXCIV"
解释: M = 1000, CM = 900, XC = 90, IV = 4.

主要是用到了python字典存储信息

class Solution:def intToRoman(self, num: int) -> str:hashmap = {1000: 'M', 900: 'CM', 500: 'D', 400: 'CD', 100: 'C', 90: 'XC', 50: 'L', 40: 'XL', 10: 'X', 9: 'IX', 5: 'V', 4: 'IV', 1: 'I'}s = ""for k in hashmap:if (num // k) != 0:count = num // knum %= ks += hashmap[k] * countreturn s

leetcode力扣12. 整数转罗马数字相关推荐

  1. LeetCode题目笔记--12.整数转罗马数字

    题目描述   题目跟前面13题描述一样,就是问题变为整数转成罗马数字. 思路   上一道题罗马数字转整数比较简单,因为不存在罗马数字表示冲突的问题,即不存在一个罗马数字对应多个整数.而这个问题中,就要 ...

  2. LeetCode (12.整数转罗马数字)JAVA StringBuffer

    LeetCode (12.整数转罗马数字)JAVA StringBuffer 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 1 ...

  3. Leetcode算法Java全解答--12. 整数转罗马数字

    Leetcode算法Java全解答–12. 整数转罗马数字 文章目录 Leetcode算法Java全解答--12. 整数转罗马数字 题目 想法 结果 总结 代码 我的答案 大佬们的答案 测试用例 其他 ...

  4. 《LeetCode力扣练习》剑指 Offer 29. 顺时针打印矩阵 Java

    <LeetCode力扣练习>剑指 Offer 29. 顺时针打印矩阵 Java 一.资源 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 示例 1: 输入:matr ...

  5. 《LeetCode力扣练习》第96题 不同的二叉搜索树 Java

    <LeetCode力扣练习>第96题 不同的二叉搜索树 Java 一.资源 题目: 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回 ...

  6. 《LeetCode力扣练习》剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java

    <LeetCode力扣练习>剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java 一.资源 题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组 ...

  7. 《LeetCode力扣练习》第75题 颜色分类 Java

    <LeetCode力扣练习>第75题 颜色分类 Java 一.资源 题目: 给定一个包含红色.白色和蓝色.共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按 ...

  8. 《LeetCode力扣练习》剑指 Offer 15. 二进制中1的个数 Java

    <LeetCode力扣练习>剑指 Offer 15. 二进制中1的个数 Java 一.资源 题目: 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ...

  9. 《LeetCode力扣练习》第64题 最小路径和 Java

    <LeetCode力扣练习>第64题 最小路径和 Java 一.资源 题目: 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为 ...

最新文章

  1. git 提交命令_Git和Github快速上手指南
  2. python新闻系统_干货 | Python 实现新闻系统内容的增删改查功能
  3. 解决mac下webstorm编辑器识别less的问题
  4. python查看模块功能_Python模块Os系统功能
  5. 跨域资源共享(CORS)--跨域ajax
  6. 前端学习(1542):cdn简介
  7. unity hub服务器无响应_累积更新KB4541335反馈称无法安装 出现无响应情况
  8. 惊现漏洞门!大众汽车被曝安全风险,1分钟内即可轻易解锁
  9. C++中面向对象的理解
  10. 随想录(关于smp的均衡负载)
  11. 在visual studio2015中使用easyX画图
  12. Mysql 基础操作:DDL、DML、CRUD 与 常用命令
  13. IDEA常用的搜索快捷键
  14. 中国工商注册企业统计数据
  15. 解决kali linux 和 win10 双系统时间不一致问题
  16. java的封装 继承 多态_java继承多态是什么意思?java封装继承多态的例子
  17. cmake的使用(cmake不是内部或外部命令)
  18. 射影几何----齐次坐标下的三点共线和非齐次坐标下的三点共线是等价的
  19. SVN E200030: There are unfinished transactions detected
  20. 图解 Google V8 # 22 :关于内存泄漏、内存膨胀、频繁垃圾回收的解决策略(完结篇)

热门文章

  1. IMF:央行须变得更像苹果公司以保证央行数字货币处在技术前沿
  2. 少数以太坊矿池正在联合抵制EIP-1559提案的实施
  3. SAP License:SAP系统上线数据导入的几个注意事项
  4. 基于 Canal 和 Kafka 实现 MySQL 的 Binlog 近实时同步
  5. ACCESS表达式不匹配:Data type mismatch in criteria expression.
  6. Python_collections_Counter计数器部分功能介绍
  7. SQL HQL JPQL CQL的对比
  8. springmvc 静态资源 配置
  9. 【Step1】【二分图匹配】poj 1274-The Perfect Stall
  10. Chrome之控制台使用【转载】