13. Roman to Integer
June 24, 2025
04:32 AM
No headings found
Loading content...
No headings found
Problem
Đề bài yêu cầu chuyển số Roman sang integer
Approach
Để chuyển đổi một chuỗi số Roman thành một số nguyên, bạn cần hiểu quy tắc cộng/ trừ các ký tự Roman
Ví dụ:
Cách thực hiện
Time and space complexity
Solution - Duyệt từ phải sang trái
1function romanToInt(s: string): number {
2 const roman: { [key: string]: number } = {
3 I: 1, V: 5, X: 10, L: 50, C: 100, D: 500, M: 1000
4 };
5 let total = 0;
6 let prev = 0;
7 const n = s.length;
8 for (let i = n - 1; i >= 0; i--) {
9 const curr = roman[s[i]]
10 if (curr < prev) {
11 total -= curr
12 } else {
13 total += curr
14 }
15 prev = curr
16 }
17
18 return total
19};