File tree 1 file changed +3
-20
lines changed
1 file changed +3
-20
lines changed Original file line number Diff line number Diff line change 2
2
* @param {number[][] } grid
3
3
* @return {number }
4
4
*/
5
- const countPyramids = function ( grid ) {
6
- const rev = clone ( grid )
5
+ const countPyramids = function ( grid ) {
6
+ const rev = clone ( grid ) . reverse ( )
7
7
let res = count ( grid )
8
- rev . reverse ( )
9
8
res += count ( rev )
10
9
return res
11
10
12
11
function clone ( grid ) {
13
- let res = [ ]
14
- for ( const row of grid ) {
15
- res . push ( row . slice ( ) )
16
- }
17
- return res
18
- }
19
- function reverse ( grid ) {
20
- let l = 0 , r = grid . length - 1
21
- while ( l < r ) {
22
- const tmp = grid [ l ]
23
- grid [ l ] = grid [ r ]
24
- grid [ r ] = tmp
25
- l ++
26
- r --
27
- }
12
+ return grid . map ( e => e . slice ( ) )
28
13
}
29
14
30
15
function count ( grid ) {
31
16
const m = grid . length , n = grid [ 0 ] . length
32
17
let res = 0
33
-
34
18
for ( let i = 1 ; i < m ; i ++ ) {
35
19
for ( let j = 1 ; j < n - 1 ; j ++ ) {
36
20
if ( grid [ i ] [ j ] && grid [ i - 1 ] [ j ] ) {
@@ -42,7 +26,6 @@ const countPyramids = function(grid) {
42
26
}
43
27
}
44
28
}
45
-
46
29
return res
47
30
}
48
31
} ;
You can’t perform that action at this time.
0 commit comments