Skip to content

Commit cdab6a2

Browse files
authored
Update 383-ransom-note.js
1 parent f5eec81 commit cdab6a2

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

383-ransom-note.js

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,13 @@
44
* @return {boolean}
55
*/
66
const canConstruct = function(ransomNote, magazine) {
7-
const rArr = ransomNote.split("");
8-
const mArr = magazine.split("");
9-
let idx;
10-
for (let i = 0; i < rArr.length; i++) {
11-
idx = mArr.indexOf(rArr[i]);
12-
if (idx === -1) {
13-
return false;
14-
} else {
15-
mArr.splice(idx, 1);
16-
}
7+
const m = new Map()
8+
for(let c of magazine) {
9+
m.set(c, (m.get(c) || 0) + 1 )
1710
}
18-
return true;
11+
for(let c of ransomNote) {
12+
if(!m.has(c) || m.get(c) <= 0) return false
13+
m.set(c, m.get(c) - 1)
14+
}
15+
return true
1916
};

0 commit comments

Comments
 (0)