Skip to content

Latest commit

 

History

History
141 lines (59 loc) · 2.42 KB

File metadata and controls

141 lines (59 loc) · 2.42 KB

中文文档

Description

On a 2-dimensional grid, there are 4 types of squares:

    <li><code>1</code> represents the starting square.&nbsp; There is exactly one starting square.</li>
    
    <li><code>2</code> represents the ending square.&nbsp; There is exactly one ending square.</li>
    
    <li><code>0</code> represents empty squares we can walk over.</li>
    
    <li><code>-1</code> represents obstacles that we cannot walk over.</li>
    

Return the number of 4-directional walks from the starting square to the ending square, that walk over every non-obstacle square exactly once.

 

Example 1:

Input: [[1,0,0,0],[0,0,0,0],[0,0,2,-1]]

Output: 2

Explanation: We have the following two paths: 

1. (0,0),(0,1),(0,2),(0,3),(1,3),(1,2),(1,1),(1,0),(2,0),(2,1),(2,2)

2. (0,0),(1,0),(2,0),(2,1),(1,1),(0,1),(0,2),(0,3),(1,3),(1,2),(2,2)

Example 2:

Input: [[1,0,0,0],[0,0,0,0],[0,0,0,2]]

Output: 4

Explanation: We have the following four paths: 

1. (0,0),(0,1),(0,2),(0,3),(1,3),(1,2),(1,1),(1,0),(2,0),(2,1),(2,2),(2,3)

2. (0,0),(0,1),(1,1),(1,0),(2,0),(2,1),(2,2),(1,2),(0,2),(0,3),(1,3),(2,3)

3. (0,0),(1,0),(2,0),(2,1),(2,2),(1,2),(1,1),(0,1),(0,2),(0,3),(1,3),(2,3)

4. (0,0),(1,0),(2,0),(2,1),(1,1),(0,1),(0,2),(0,3),(1,3),(1,2),(2,2),(2,3)

Example 3:

Input: [[0,1],[2,0]]

Output: 0

Explanation: 

There is no path that walks over every empty square exactly once.

Note that the starting and ending square can be anywhere in the grid.

 

Note:

    <li><code>1 &lt;= grid.length * grid[0].length &lt;= 20</code></li>
    

Solutions

Python3

Java

...