We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 77742be commit 35b9564Copy full SHA for 35b9564
1525-number-of-good-ways-to-split-a-string.js
@@ -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
18
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
34
/**
35
* @param {string} s
36
* @return {number}
0 commit comments