当前位置:网站首页>【LeetCode】12、整数转罗马数字
【LeetCode】12、整数转罗马数字
2022-06-28 05:05:00 【小曲同学呀】
12、整数转罗马数字
题目:
罗马数字包含以下七种字符: 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:
输入: num = 3
输出: "III"
示例 2:
输入: num = 4
输出: "IV"
示例 3:
输入: num = 9
输出: "IX"
示例 4:
输入: num = 58
输出: "LVIII"
解释: L = 50, V = 5, III = 3.
示例 5:
输入: num = 1994
输出: "MCMXCIV"
解释: M = 1000, CM = 900, XC = 90, IV = 4.
解题思路:
此题的解题思路,比较多,比如贪心算法,暴力拆解,枚举。拼接等等。
咱们就用拼接法来实现一下:
参考代码:
class Solution {
public String intToRoman(int num) {
int[] values={
1000,900,500,400,100,90,50,40,10,9,5,4,1};
String[] rom={
"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"};
StringBuilder sb=new StringBuilder();
for(int i=0;i<values.length;i++){
while(num>=values[i]){
sb.append(rom[i]);
num-=values[i];
}
}
return sb.toString();
}
}
边栏推荐
猜你喜欢
并发之wait/notify说明
How to do a good job of gateway high availability protection in the big promotion scenario
Learning Tai Chi Maker - mqtt Chapter II (VI) mqtt wills
!‘cat‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
2022新版nft源码中国元宇宙数字藏品艺术品交易平台源码
[csp-j2020] excellent splitting
【牛客网刷题系列 之 Verilog快速入门】~ 四选一多路器
The latest examination questions and answers for the eight members (standard members) of Liaoning architecture in 2022
BioVendor sRAGE蛋白解决方案
cgo+gSoap+onvif学习总结:8、arm平台交叉编译运行及常见问题总结
随机推荐
汇编常用指令
The latest examination questions and answers for the eight members (standard members) of Liaoning architecture in 2022
Metartc5.0 API programming guide (I)
[NOIP2002 普及组] 过河卒
改性三磷酸盐研究:Lumiprobe氨基-11-ddUTP
电源插座是如何传输电的?困扰小伙伴这么多年的简单问题
Dart学习——函数、类
并发之wait/notify说明
Study on modified triphosphate: lumiprobe amino-11-ddutp
基于订单流工具,我们能看到什么?
Differences between pragma and ifndef
CI & CD must be known!
穿越封锁的最新利器,速度最快梯没有之一。
Mask's miserable and inspirational childhood, who is introverted by campus violence
氨基染料研究:Lumiprobe FAM 胺,6-异构体
!‘ Cat 'is not an internal or external command, nor is it a runnable program or batch file.
【牛客网刷题系列 之 Verilog快速入门】~ 四选一多路器
2022年最新辽宁建筑八大员(标准员)考试试题及答案
Idle interrupt cannot be cleared
lotus v1.16.0 calibnet