Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    2596 - Check Knight Tour Configuration\.

    Medium

    There is a knight on an n x n chessboard. In a valid configuration, the knight starts at the top-left cell of the board and visits every cell on the board exactly once.

    You are given an n x n integer matrix grid consisting of distinct integers from the range [0, n * n - 1] where grid[row][col] indicates that the cell (row, col) is the <code>gridcol<sup>th</sup></code> cell that the knight visited. The moves are 0-indexed.

    Return true if grid represents a valid configuration of the knight's movements or false otherwise.

    Note that a valid knight move consists of moving two squares vertically and one square horizontally, or two squares horizontally and one square vertically. The figure below illustrates all the possible eight moves of a knight from some cell.

    Example 1:

    Input: grid = \[\[0,11,16,5,20],17,4,19,10,15,12,1,8,21,6,3,18,23,14,9,24,13,2,7,22]

    Output: true

    Explanation: The above diagram represents the grid. It can be shown that it is a valid configuration.

    Example 2:

    Input: grid = \[\[0,3,6],5,8,1,2,7,4]

    Output: false

    Explanation: The above diagram represents the grid. The 8<sup>th</sup> move of the knight is not valid considering its position after the 7<sup>th</sup> move.

    Constraints:

    • n == grid.length == grid[i].length

    • 3 &lt;= n &lt;= 7

    • 0 &lt;= grid[row][col] &lt; n * n

    • All integers in grid are unique.

    • 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 Boolean checkValidGrid(Array<IntArray> grid)
      • Methods inherited from class java.lang.Object

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