罗马数字包含以下七种字符: I, V, X, L,C,D 和 M,我来为大家科普一下关于leetcode逆序输出字符串?以下内容希望对你有帮助!
leetcode逆序输出字符串
罗马数字包含以下七种字符: 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.
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/integer-to-roman 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
import java.util.HashMap;
import java.util.Map;
class Solution {
private final static int TEN = 10;
private final static int HUNDRED = 100;
private final static int THOUSAND = 1000;
private static Map<Integer, String> units = new HashMap<Integer, String>();
private static Map<Integer, String> tens = new HashMap<Integer, String>();
private static Map<Integer, String> hundreds = new HashMap<Integer, String>();
private static Map<Integer, String> thousands = new HashMap<Integer, String>();
static {
units.put(1, "I");
units.put(2, "II");
units.put(3, "III");
units.put(4, "IV");
units.put(5, "V");
units.put(6, "VI");
units.put(7, "VII");
units.put(8, "VIII");
units.put(9, "IX");
}
static {
tens.put(1, "X");
tens.put(2, "XX");
tens.put(3, "XXX");
tens.put(4, "XL");
tens.put(5, "L");
tens.put(6, "LX");
tens.put(7, "LXX");
tens.put(8, "LXXX");
tens.put(9, "XC");
}
static {
hundreds.put(1, "C");
hundreds.put(2, "CC");
hundreds.put(3, "CCC");
hundreds.put(4, "CD");
hundreds.put(5, "D");
hundreds.put(6, "DC");
hundreds.put(7, "DCC");
hundreds.put(8, "DCCC");
hundreds.put(9, "CM");
}
static {
thousands.put(1, "M");
thousands.put(2, "MM");
thousands.put(3, "MMM");
}
public String intToRoman(int num) {
int inputNum = num;
int mod;
StringBuilder romaNum = new StringBuilder();
mod = inputNum / THOUSAND;
if (mod != 0) {
romaNum.append(thousands.get(mod));
}
inputNum = inputNum - mod * THOUSAND;
mod = inputNum / HUNDRED;
if (mod != 0) {
romaNum.append(hundreds.get(mod));
}
inputNum = inputNum - mod * HUNDRED;
mod = inputNum / TEN;
if (mod != 0) {
romaNum.append(tens.get(mod));
}
inputNum = inputNum - mod * TEN;
mod = inputNum % TEN;
if (mod != 0) {
romaNum.append(units.get(mod));
}
return romaNum.toString();
}
}
上一篇 : 为什么木森要停播三天(四大户外封印已解除)
下一篇 : 曹会渠仲星火(淳朴正直仲星火)
从头再来为什么被骂(重头再来)
深圳地铁图20条地铁路线(深圳12条在建地铁线路最全汇总)
网络用语q我是什么意思(谐音q我有两个意思:一、q我可以理解为qq上面发个信息给我)
君的对应女子称谓(君对应的女子称呼有妇、婢、妾、璧人、婵娟等)
第二大经济体是哪国
立黄昏是什么意思
果啤有酒精吗(果啤含有酒精成分)
潮汕和汕头是指同一个地方吗(汕头与潮汕指的不是同一个地方)
清朝乾隆皇帝有几个儿子
两杠三星是什么级别(两杠三星军衔对应的军职是什么)
如何清除电脑缓存
怎么去除冰箱的异味
720p是什么意思
普希金的作品有哪些
沃伦门窗和欧莱诺门窗哪个好(门窗品牌排前十的是哪些告知下2021年广东十大门窗的品牌是)
天才知道第二季总决赛冠军是谁
申请QQ密码保护的流程是什么
u盘播放mp3如何调整顺序
工控机的作用是用在工业现场来控制工业设备的工作
ppt自动对齐辅助线在哪设置
window10的截图快捷键是多少
msdn是什么
手机QQ空间如何装扮
磁力链接怎么用
极品飞车无限狂飙初级最好的车(各种狂野杀戮公路)
大同火车站停运一列火车(大同本月10日起这两次列车临时停运)
奔驰车内有刺鼻异味怎么办
什么是黄标车
锦湖轮胎质量怎么样
制动踏板是什么意思
叉车证有几种(叉车证是叉车司机必不可少的证件)
江是哪里的简称车牌
香酥蒜香椒盐排骨(米饭杀手干煸椒盐排骨)
干煸排骨的做法家常(一道美食干煸排骨)
重生之嫁给废太子类似的书(嫁给废太子之后by荔箫)
年夜饭菜谱大全20道凉菜(2023年夜饭餐桌上必备的5道凉拌菜)
怎么做好吃的美食毛巾卷(你喜欢吃带卷的食物吗)
自制棒冰教程菜谱(自制棒冰美食台)
泥鳅豆腐如何煲汤(美味泥鳅豆腐汤治病祛湿两不误)
贵州各地美食一览表(贵州整个镇都在卖的美食)
24岁用什么眼霜好(24岁这样的年龄要用些什么眼霜好)
《一代枭雄》赵素影是谁
《双城生活》的演员表是什么
《步步惊心》十阿哥扮演者是谁
《禁闭岛》剧情解析怎么样
一代枭雄何辅堂结局是什么
赌片电视剧有那些
《点金胜手》演员表是什么