博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LintCode] Integer to Roman 整数转化成罗马数字
阅读量:6764 次
发布时间:2019-06-26

本文共 2174 字,大约阅读时间需要 7 分钟。

Given an integer, convert it to a roman numeral.

The number is guaranteed to be within the range from 1 to 3999.

What is Roman Numeral?

Example

4 -> IV

12 -> XII

21 -> XXI

99 -> XCIX

more examples at: 

LeetCode上的原题,请参见我之前的博客。

解法一:

class Solution {public:    /**     * @param n The integer     * @return Roman representation     */    string intToRoman(int n) {        string res = "";        vector
> v {
{
"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"}, {
"X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"}, {
"C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"}, {
"M", "MM", "MMM"}}; int cnt = 1000; for (int i = 3; i >= 0; --i) { int t = n / cnt; if (t) res += v[i][t - 1]; n %= cnt; cnt /= 10; } return res; }};

解法二:

class Solution {public:    /**     * @param n The integer     * @return Roman representation     */    string intToRoman(int n) {        string res = "";        vector
val {
1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1}; vector
str{
"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"}; for (int i = 0; i < val.size(); ++i) { while (n >= val[i]) { n -= val[i]; res += str[i]; } } return res; }};

解法三:

class Solution {public:    /**     * @param n The integer     * @return Roman representation     */    string intToRoman(int n) {        string res = "";        vector
v1 {
"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"}; vector
v2 {
"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"}; vector
v3 {
"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"}; vector
v4 {
"", "M", "MM", "MMM"}; return v4[n / 1000] + v3[(n % 1000) / 100] + v2[(n % 100) / 10] + v1[n % 10]; }};

本文转自博客园Grandyang的博客,原文链接:,如需转载请自行联系原博主。

你可能感兴趣的文章
守护客户数据价值:企业级NewSQL HTAP分布式云TBase架构详解
查看>>
Web3与智能合约交互实战
查看>>
双十一你想要的,我们提前给你备好了——七牛云产品0.1元起购
查看>>
视频直播:Windows中各类画面源的截取和合成方法总结
查看>>
SQL老司机,在SQL中计算 array & map & json数据
查看>>
绘制图片
查看>>
前端工程优化:javascript的优化小结
查看>>
Android 动画实战-仿微博雷达功能
查看>>
leetCode 13 Roman to Integer
查看>>
SpringBoot高级篇Redis之Hash数据结构使用姿势
查看>>
javaScript设计模式:Observer(观察者)模式实践(一)
查看>>
介绍两个好玩的和Github相关的Chrome扩展
查看>>
PC浏览器播放HLS协议的视频
查看>>
函数计算性能福利篇(二) —— 业务冷启动优化
查看>>
Python学习之路25-使用一等函数实现设计模式
查看>>
macOS 10 13 Cocoapods 命令错误
查看>>
Swift3中的 Method Swizzling
查看>>
BroadcastReceive简介
查看>>
知乎 node事件机制 转载
查看>>
学习JavaScript数据结构与算法 (一)
查看>>