Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    2617 - Minimum Number of Visited Cells in a Grid\.

    Hard

    You are given a 0-indexed m x n integer matrix grid. Your initial position is at the top-left cell (0, 0).

    Starting from the cell (i, j), you can move to one of the following cells:

    • Cells (i, k) with j < k <= grid[i][j] + j (rightward movement), or

    • Cells (k, j) with i < k <= grid[i][j] + i (downward movement).

    Return the minimum number of cells you need to visit to reach the bottom-right cell (m - 1, n - 1). If there is no valid path, return -1.

    Example 1:

    Input: grid = \[\[3,4,2,1],4,2,3,1,2,1,0,0,2,4,0,0]

    Output: 4

    Explanation: The image above shows one of the paths that visits exactly 4 cells.

    Example 2:

    Input: grid = \[\[3,4,2,1],4,2,1,1,2,1,1,0,3,4,1,0]

    Output: 3

    Explanation: The image above shows one of the paths that visits exactly 3 cells.

    Example 3:

    Input: grid = \[\[2,1,0],1,0,0]

    Output: -1

    Explanation: It can be proven that no path exists.

    Constraints:

    • m == grid.length

    • n == grid[i].length

    • <code>1 <= m, n <= 10<sup>5</sup></code>

    • <code>1 <= m * n <= 10<sup>5</sup></code>

    • 0 &lt;= grid[i][j] &lt; m * n

    • grid[m - 1][n - 1] == 0

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Solution()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final Integer minimumVisitedCells(Array<IntArray> grid)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait