検索

ホームページ  >  に質問  >  本文

部分的に塗りつぶされたボードを示す Typescript の数独問題

js 数独ジェネレーターを練習用に ts ジェネレーターに変換することに成功しましたが、唯一の問題は、完全な数独ボードのみを出力するようにする方法です。現在は、ディスクが完了しているかどうかに関係なく出力されるため、正しいディスクが表示されるまで更新する必要があります。

完全なディスクのみを出力する次の関数の書き方がわかりません:

リーリー

これはすべて私のコードです:

ああああ

P粉135799949P粉135799949448日前510

全員に返信(1)返信します

  • P粉638343995

    P粉6383439952023-09-08 17:29:57

    空白セルに有効な数字を追加できないことが判明した場合、この関数は不完全な数独ボードを返します。

    この問題を解決するには、関数は次のようにする必要があります:

    • 正しいバックトラッキングを実装します。つまり、失敗した移動を元に戻します。
    • 関数がブール値 (成功/失敗を示す) を返すようにします。配列はその場で変更され、呼び出し元がこれらの変更にアクセスできるため、puzzleArray を返す必要はありません。
      • これは、NEW_BOARD = fillBoard(BLANK_BOARD);ということも意味します。副作用として、NEW_BOARDBLANK_BOARD
      • は同じ Sudoku ボードを参照しており、 Long は空白です (したがって、誤解を招く名前です)。
    • 成功するとループを中断/戻ります。

    以下は変更された実装です:

    リーリー 呼び出し元は戻り値を確認する必要がありますが、白紙の状態から開始すると、戻り値として true

    が得られることが保証されます。したがって、これを行うことができます: ### リーリー

    返事
    0
  • キャンセル返事