12. 整数转罗马数字
- 题号:12
- 来源:LeetCode
- 难度:中等
- 标签:
数学字符串 - 语言:TypeScript
- 解法:1 个
- 作者:lmliheng
- 最近更新:2026-09-27
TypeScript · O(1) 时间 · O(1) 空间 · 更新于 2026-09-27
按千、百、十、个位查表拼接罗马数字
typescript
/**
* @difficulty medium
* @tags 数学,字符串
* @time O(1)
* @space O(1)
* @note 按千、百、十、个位查表拼接罗马数字
* @12. 整数转罗马数字
*/
function intToRoman(num: number) {
let M_str = ['', 'M', 'MM', 'MMM']
let C_str = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM']
let X_str = ['', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC']
let I_str = ['', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX']
return M_str[Math.floor(num / 1000 | 0)] + C_str[Math.floor(num % 1000 / 100)] + X_str[Math.floor(num % 100 / 10)] + I_str[num % 10]
};在 GitHub 上查看题目所在目录:lmliheng/algorithm