File tree Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * @param {number[] } rating
3
+ * @return {number }
4
+ */
5
+ var numTeams = function ( rating ) {
6
+ if ( rating < 3 ) {
7
+ return 0 ;
8
+ }
9
+ let dp1 = new Array ( 3 ) ;
10
+ for ( let i = 0 ; i < 3 ; i ++ ) {
11
+ dp1 [ i ] = [ ] ;
12
+ for ( let j = 0 ; j < rating . length ; j ++ ) {
13
+ if ( i === 0 ) {
14
+ dp1 [ i ] [ j ] = 1 ;
15
+ } else {
16
+ dp1 [ i ] [ j ] = 0 ;
17
+ for ( let k = 0 ; k < j ; k ++ ) {
18
+ if ( rating [ j ] > rating [ k ] ) {
19
+ dp1 [ i ] [ j ] += dp1 [ i - 1 ] [ k ] ;
20
+ }
21
+ }
22
+ }
23
+ }
24
+ }
25
+
26
+ let dp2 = new Array ( 3 ) ;
27
+ for ( let i = 0 ; i < 3 ; i ++ ) {
28
+ dp2 [ i ] = [ ] ;
29
+ for ( let j = 0 ; j < rating . length ; j ++ ) {
30
+ if ( i === 0 ) {
31
+ dp2 [ i ] [ j ] = 1 ;
32
+ } else {
33
+ dp2 [ i ] [ j ] = 0 ;
34
+ for ( let k = 0 ; k < j ; k ++ ) {
35
+ if ( rating [ j ] < rating [ k ] ) {
36
+ dp2 [ i ] [ j ] += dp2 [ i - 1 ] [ k ] ;
37
+ }
38
+ }
39
+ }
40
+ }
41
+ }
42
+
43
+ let result = 0 ;
44
+ for ( let i = 0 ; i < rating . length ; i ++ ) {
45
+ result += dp1 [ 2 ] [ i ] + dp2 [ 2 ] [ i ] ;
46
+ }
47
+ return result ;
48
+ } ;
You can’t perform that action at this time.
0 commit comments