File tree 2 files changed +31
-1
lines changed
2 files changed +31
-1
lines changed Original file line number Diff line number Diff line change @@ -331,7 +331,7 @@ If you would like to have collaborator permissions on the repo to merge your own
331
331
<sub>[1466 - Reorder Routes to Make All Paths Lead to The City Zero](https://leetcode.com/problems/reorder-routes-to-make-all-paths-lead-to-the-city-zero/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F1466-reorder-routes-to-make-all-paths-lead-to-the-city-zero.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F1466-Reorder-Routes-to-Make-All-Paths-Lead-To-The-City-Zero.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F1466-reorder-routes-to-make-all-paths-lead-to-the-city-zero.java)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](kotlin%2F1466-reorder-routes-to-make-all-paths-lead-to-the-city-zero.kt)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
332
332
<sub>[0994 - Rotting Oranges](https://leetcode.com/problems/rotting-oranges/)</sub> | <sub><div align='center'>[✔️](c%2F0994-rotting-oranges.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0994-rotting-oranges.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0994-rotting-oranges.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0994-rotting-oranges.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0994-rotting-oranges.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0994-rotting-oranges.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0994-rotting-oranges.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0994-rotting-oranges.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0994-rotting-oranges.ts)</div></sub>
333
333
<sub >[ 0286 - Walls And Gates] ( https://leetcode.com/problems/walls-and-gates/ ) </sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( cpp%2F0286-walls-and-gates.cpp ) </div ></sub > | <sub ><div align =' center ' >[ ✔️] ( csharp%2F0286-walls-and-gates.cs ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( java%2F0286-walls-and-gates.java ) </div ></sub > | <sub ><div align =' center ' >[ ✔️] ( javascript%2F0286-walls-and-gates.js ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( python%2F0286-walls-and-gates.py ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub >
334
- <sub >[ 0909 - Snakes And Ladders] ( https://leetcode.com/problems/snakes-and-ladders/ ) </sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( csharp%2F0909-snakes-and-ladders.cs ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( java%2F0909-snakes-and-ladders.java ) </div ></sub > | <sub ><div align =' center ' >❌ </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( python%2F0909-snakes-and-ladders.py ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub >
334
+ <sub >[ 0909 - Snakes And Ladders] ( https://leetcode.com/problems/snakes-and-ladders/ ) </sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( csharp%2F0909-snakes-and-ladders.cs ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( java%2F0909-snakes-and-ladders.java ) </div ></sub > | <sub ><div align =' center ' >[ ✔️ ] ( javascript%2F0909-snakes-and-ladders.js ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( python%2F0909-snakes-and-ladders.py ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub >
335
335
<sub >[ 0752 - Open The Lock] ( https://leetcode.com/problems/open-the-lock/ ) </sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( csharp%2F0752-open-the-lock.cs ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( java%2F0752-open-the-lock.java ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( kotlin%2F0752-open-the-lock.kt ) </div ></sub > | <sub ><div align =' center ' >[ ✔️] ( python%2F0752-open-the-lock.py ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub >
336
336
<sub >[ 0802 - Find Eventual Safe States] ( https://leetcode.com/problems/find-eventual-safe-states/ ) </sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( java%2F0802-find-eventual-safe-states.java ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( kotlin%2F0802-find-eventual-safe-states.kt ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub >
337
337
<sub>[0207 - Course Schedule](https://leetcode.com/problems/course-schedule/)</sub> | <sub><div align='center'>[✔️](c%2F0207-course-schedule.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0207-course-schedule.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0207-course-schedule.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0207-course-schedule.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0207-course-schedule.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0207-course-schedule.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0207-course-schedule.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0207-course-schedule.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0207-course-schedule.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0207-course-schedule.ts)</div></sub>
Original file line number Diff line number Diff line change
1
+ /**
2
+ * @param {number[][] } board
3
+ * @return {number }
4
+ */
5
+ var snakesAndLadders = function ( board ) {
6
+ let n = board . length ;
7
+ let set = new Set ( ) ;
8
+ let getPos = ( pos ) => {
9
+ let row = Math . floor ( ( pos - 1 ) / n )
10
+ let col = ( pos - 1 ) % n
11
+ col = row % 2 == 1 ? n - 1 - col : col ;
12
+ row = n - 1 - row ;
13
+ return [ row , col ]
14
+ }
15
+ let q = [ [ 1 , 0 ] ]
16
+ while ( q . length > 0 ) {
17
+ [ pos , moves ] = q . shift ( ) ;
18
+ for ( let i = 1 ; i < 7 ; i ++ ) {
19
+ let newPos = i + pos ;
20
+ let [ r , c ] = getPos ( newPos ) ;
21
+ if ( board [ r ] [ c ] != - 1 ) newPos = board [ r ] [ c ]
22
+ if ( newPos == n * n ) return moves + 1 ;
23
+ if ( ! set . has ( newPos ) ) {
24
+ set . add ( newPos )
25
+ q . push ( [ newPos , moves + 1 ] )
26
+ }
27
+ }
28
+ }
29
+ return - 1
30
+ } ;
You can’t perform that action at this time.
0 commit comments