File tree Expand file tree Collapse file tree 1 file changed +42
-0
lines changed
Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change 1+ function solution ( m , n , puddles ) {
2+ const dp = Array . from ( { length : n } , ( ) => Array ( m ) . fill ( 0 ) ) ;
3+
4+ for ( const puddle of puddles ) {
5+ const [ col , row ] = puddle ;
6+
7+ dp [ row - 1 ] [ col - 1 ] = - 1 ;
8+ }
9+
10+ for ( let i = 0 ; i < m ; i ++ ) {
11+ if ( dp [ 0 ] [ i ] === - 1 ) {
12+ break ;
13+ }
14+
15+ dp [ 0 ] [ i ] = 1 ;
16+ }
17+
18+ for ( let i = 0 ; i < n ; i ++ ) {
19+ if ( dp [ i ] [ 0 ] === - 1 ) {
20+ break ;
21+ }
22+
23+ dp [ i ] [ 0 ] = 1 ;
24+ }
25+
26+ for ( let i = 1 ; i < n ; i ++ ) {
27+ for ( let j = 1 ; j < m ; j ++ ) {
28+ if ( dp [ i ] [ j ] === - 1 ) {
29+ continue ;
30+ }
31+
32+ if ( dp [ i - 1 ] [ j ] === - 1 || dp [ i ] [ j - 1 ] === - 1 ) {
33+ dp [ i ] [ j ] = Math . max ( dp [ i - 1 ] [ j ] , dp [ i ] [ j - 1 ] ) ;
34+ } else {
35+ dp [ i ] [ j ] = ( dp [ i - 1 ] [ j ] + dp [ i ] [ j - 1 ] ) % 1000000007 ;
36+ }
37+ }
38+ }
39+
40+ return dp [ n - 1 ] [ m - 1 ] ;
41+ }
42+ console . log ( solution ( 4 , 3 , [ [ 2 , 2 ] ] ) ) ;
You can’t perform that action at this time.
0 commit comments