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;
    }
};
复制代码

总结:

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


相关推荐
王老师青少年编程2 分钟前
2024年3月GESP真题及题解(C++七级): 俄罗斯方块
c++·题解·真题·gesp·csp·俄罗斯方块·七级
oioihoii9 分钟前
拆解融合:测试开发,一个关于“更好”的悖论
c++
xiaoqider26 分钟前
C++模板进阶
开发语言·c++
移幻漂流38 分钟前
C/C++并发编程详解:如何写出优秀的并发程序
c语言·开发语言·c++
被星1砸昏头1 小时前
C++中的享元模式
开发语言·c++·算法
D_evil__2 小时前
【Effective Modern C++】第三章 转向现代C++:7. 在创建对象时注意区分()和{}
c++
Bruce_kaizy2 小时前
c++ dfs搜索算法——剪枝
c++·深度优先·剪枝
源代码•宸2 小时前
Leetcode—3. 无重复字符的最长子串【中等】
经验分享·后端·算法·leetcode·面试·golang·string
CSDN_RTKLIB2 小时前
【std::string】find函数
c++·stl
历程里程碑2 小时前
哈希2:字母异位符分组
算法·leetcode·职场和发展