File tree Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change
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
+
1
34
/**
2
35
* @param {string } s
3
36
* @return {number }
You can’t perform that action at this time.
0 commit comments