时间轴

2025-11-09

init


题目:

能用vector就不要用unordered_map,效率会高点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <string>
#include <vector>
#include <utility>

using std::string;
using std::pair;
using std::vector;

class Solution {
private:
vector<pair<int, string> > roman;

public:
Solution()
{
roman = { { 1000, "M" }, { 900, "CM" }, { 500, "D" }, { 400, "CD" }, { 100, "C" },
{ 90, "XC" }, { 50, "L" }, { 40, "XL" }, { 10, "X" }, { 9, "IX" },
{ 5, "V" }, { 4, "IV" }, { 1, "I" } };
}

string intToRoman(int num)
{
string res;
int i, j, n = roman.size();
int times;
for (i = 0; i < n; i++) {
if (num < roman[i].first) {
continue;
}
times = num / roman[i].first;
num = num % roman[i].first;
for (j = 0; j < times; j++) {
res += roman[i].second;
}
}
return res;
}
};