From d07d30891f4ab0dfbeaa749d4059d8fd77b854bc Mon Sep 17 00:00:00 2001 From: hasan Date: Tue, 8 Jun 2021 09:43:42 +0600 Subject: [PATCH] Add doctest at KnightTour.js --- Backtracking/KnightTour.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Backtracking/KnightTour.js b/Backtracking/KnightTour.js index 5c7637a9e3..6686861e32 100644 --- a/Backtracking/KnightTour.js +++ b/Backtracking/KnightTour.js @@ -4,6 +4,7 @@ class OpenKnightTour { constructor (size) { this.board = new Array(size).fill(0).map(() => new Array(size).fill(0)) this.size = size + this.solutionFound = false } getMoves ([i, j]) { @@ -39,12 +40,16 @@ class OpenKnightTour { solveHelper ([i, j], curr) { // helper function for the main computation - if (this.isComplete()) return true + if (this.isComplete()) { + this.printBoard() + this.solutionFound = true + return true + } for (const [y, x] of this.getMoves([i, j])) { if (this.board[y][x] === 0) { this.board[y][x] = curr + 1 - if (this.solveHelper([y, x], curr + 1)) return true + if (this.solveHelper([y, x], curr + 1)) { return true } // backtracking this.board[y][x] = 0 } @@ -72,7 +77,8 @@ function main () { board.solve() - board.printBoard() + // > board.solutionFound + // true } main()