Skip to content

Commit 35b9564

Browse files
authored
Update 1525-number-of-good-ways-to-split-a-string.js
1 parent 77742be commit 35b9564

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

1525-number-of-good-ways-to-split-a-string.js

+33
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,36 @@
1+
/**
2+
* @param {string} s
3+
* @return {number}
4+
*/
5+
const numSplits = function(s) {
6+
const n = s.length
7+
const freq = new Map()
8+
const prefix = Array(26).fill(0)
9+
for(let i = 0; i < n; i++) {
10+
if(freq.get(s[i]) == null) freq.set(s[i], 0)
11+
freq.set(s[i], freq.get(s[i]) + 1)
12+
prefix[i] = freq.size
13+
}
14+
freq.clear()
15+
const suffix = Array(26).fill(0)
16+
for(let i = n - 1; i >= 0 ;i--) {
17+
if(freq.get(s[i]) == null) freq.set(s[i], 0)
18+
freq.set(s[i], freq.get(s[i]) + 1)
19+
suffix[i] = freq.size
20+
}
21+
// console.log(prefix, suffix)
22+
let res = 0
23+
for(let i = 1; i < n; i++) {
24+
if(prefix[i - 1] === suffix[i]) res++
25+
}
26+
27+
return res
28+
};
29+
30+
31+
// another
32+
33+
134
/**
235
* @param {string} s
336
* @return {number}

0 commit comments

Comments
 (0)