Skip to content

Commit 5f52b39

Browse files
committed
feat: add solution of Roman to Integer(013) with javascript
1 parent b9573a6 commit 5f52b39

File tree

3 files changed

+62
-3
lines changed

3 files changed

+62
-3
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
| [001][001-question] | [Two Sum][001-tips] | [][001-java] | [][001-js] | [][001-kotlin] |
2828
| [007][007-question] | [Reverse Integer][007-tips] | [][007-java] | [][007-js] | [][007-kotlin] |
2929
| [009][009-question] | [Palindrome Number][009-tips] | [][009-java] | [][009-js] | [][009-kotlin] |
30-
| [013][013-question] | [Roman to Integer][013-tips] | [][013-java] | | [][013-kotlin] |
30+
| [013][013-question] | [Roman to Integer][013-tips] | [][013-java] | [][013-js] | [][013-kotlin] |
3131
| [014][014-question] | [Longest Common Prefix][014-tips] | [][014-java] | | [][014-kotlin] |
3232
| [020][020-question] | [Valid Parentheses][020-tips] | [][020-java] | | |
3333
| [021][021-question] | [Merge Two Sorted Lists][021-tips] | [][021-java] | | |
@@ -345,6 +345,7 @@
345345
[001-js]: ./src/_001/Solution.js
346346
[007-js]: ./src/_007/Solution.js
347347
[009-js]: ./src/_009/Solution.js
348+
[013-js]: ./src/_013/Solution.js
348349
[226-js]: ./src/_226/Solution.js
349350
[561-js]: ./src/_561/Solution.js
350351
[643-js]: ./src/_643/Solution.js

src/_013/Solution.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/**
2+
* @param {string} s
3+
* @return {number}
4+
*/
5+
var romanToInt = function(s) {
6+
let arr = s.split('')
7+
var obj = {
8+
I: 1,
9+
V: 5,
10+
X: 10,
11+
L: 50,
12+
C: 100,
13+
D: 500,
14+
M: 1000
15+
}
16+
var sum = 0
17+
for (let i = arr.length - 1; i > 0 ; i--) {
18+
console.log(arr[i])
19+
console.log(arr[i - 1])
20+
if (obj[arr[i]] > obj[arr[i - 1]]) {
21+
sum = sum - obj[arr[i - 1]]
22+
} else {
23+
sum = sum + obj[arr[i - 1]]
24+
}
25+
}
26+
return sum + obj[arr[arr.length - 1]]
27+
};
28+
romanToInt('DCXXI')

tips/013/README.md

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,37 @@ class Solution {
7373
}
7474
}
7575
```
76-
76+
javascript:
77+
```javascript
78+
/**
79+
* @param {string} s
80+
* @return {number}
81+
*/
82+
var romanToInt = function(s) {
83+
let arr = s.split('')
84+
var obj = {
85+
I: 1,
86+
V: 5,
87+
X: 10,
88+
L: 50,
89+
C: 100,
90+
D: 500,
91+
M: 1000
92+
}
93+
var sum = 0
94+
for (let i = arr.length - 1; i > 0 ; i--) {
95+
console.log(arr[i])
96+
console.log(arr[i - 1])
97+
if (obj[arr[i]] > obj[arr[i - 1]]) {
98+
sum = sum - obj[arr[i - 1]]
99+
} else {
100+
sum = sum + obj[arr[i - 1]]
101+
}
102+
}
103+
return sum + obj[arr[arr.length - 1]]
104+
};
105+
romanToInt('DCXXI')
106+
```
77107

78108
## 结语
79109

@@ -83,4 +113,4 @@ class Solution {
83113

84114
[title]: https://leetcode.com/problems/roman-to-integer
85115
[ls]: https://github.com/SDE603/LeetCode-Solution
86-
[img]: ./013.gif
116+
[img]: ./013.gif

0 commit comments

Comments
 (0)