12.整数转罗马数字

​​题目来源:

leetcode题目,网址:12. 整数转罗马数字 - 力扣(LeetCode)

解题思路:

从大到小枚举所有可能出现得罗马数字,按需添加至结果中即可。

解题代码:

复制代码
class Solution {
public:
    string intToRoman(int num) {
        string res;
        vector<int> worth={1000,900,500,400,100,90,50,40,10,9,5,4,1};
        vector<string> str={"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"};
        for(int i=0;i<worth.size();i++){
            for(int j=0;j<num/worth[i];j++){
                res+=str[i];
            }
            num=num%worth[i];
        }
        return res;
    }
};
复制代码

总结:

官方题解给出了两种解法。第一种是模拟。第二种是枚举,列出当前位上数字 与罗马数字间的对应关系后。


相关推荐
茴香豆的茴1 小时前
转码刷 LeetCode 笔记[1]:3.无重复字符的最长子串(python)
leetcode
两颗泡腾片2 小时前
C++提高编程学习--模板
c++·学习
你好!蒋韦杰-(烟雨平生)4 小时前
扫雷游戏C++
c++·单片机·游戏
monicaaaaan4 小时前
搜索二维矩阵Ⅱ C++
c++·线性代数·矩阵
zh_xuan5 小时前
duiLib 自定义资源目录
c++·ui
西红柿煎蛋5 小时前
C++11的可变参数模板 (Variadic Templates) 是如何工作的?如何使用递归解包一个参数包 (parameter pack)?
c++
源代码•宸6 小时前
深入浅出设计模式——创建型模式之原型模式 Prototype
c++·经验分享·设计模式·原型模式
晨曦学习日记6 小时前
Leetcode239:滑动窗口最大值,双端队列的实现!
数据结构·c++·算法
wait a minutes7 小时前
【c++】leetcode763 划分字母区间
开发语言·c++
菥菥爱嘻嘻7 小时前
力扣面试150(42/150)
算法·leetcode·职场和发展