小编V. *_*ang的帖子

确定Sudoku在JavaScript中是否可解决

这是Pramp的问题。我需要确定数独功能是否可解决(与LEETcode问题不同,我只需要查看电路板是否有效)。

下面是我使用递归的JavaScript代码。我遵循Pramp上建议的逻辑,即创建一个辅助函数getCandidates()来查找可以进入空白空间的所有候选编号。然后,在实际的sudokuSolve()函数中,找到候选集最小的空白空间,将这些候选内容输入空白空间,然后尝试使用递归求解电路板。如果可行,则该板是可解决的。

我的代码每次都是正确的,我找不到问题。我已经研究了互联网上提出的其他类似问题,但大多数问题都是为数独板找到确切的解决方案或生成数独板。我只需要查看一块木板是否可解决。如果可以的话,请告诉我我的代码哪里有错,我将非常感谢。

无论测试案例是什么,我现在每次都得到“ true” ...对于提供的这个测试案例,答案应该为false。

const test02 = [
  ['.', '8', '9', '.', '4', '.', '6', '.', '5'],
  ['.', '7', '.', '.', '.', '8', '.', '4', '1'],
  ['5', '6', '.', '9', '.', '.', '.', '.', '8'],
  ['.', '.', '.', '7', '.', '5', '.', '9', '.'],
  ['.', '9', '.', '4', '.', '1', '.', '5', '.'],
  ['.', '3', '.', '9', '.', '6', '.', '1', '.'],
  ['8', '.', '.', '.', '.', '.', '.', '.', '7'],
  ['.', '2', '.', '8', '.', '.', '.', …
Run Code Online (Sandbox Code Playgroud)

javascript sudoku

8
推荐指数
1
解决办法
117
查看次数

如何记住一个方法是否改变了原始数组?

我知道我可以在 MDN 上找到一组 mutator 方法,但实际上我总是忘记 push() 或 reverse() 之类的方法是否会改变原始数组或创建一个新数组。为什么某些方法是变异器而有些是非变异器,所以我很容易记住,这是否有逻辑?

javascript methods

5
推荐指数
1
解决办法
441
查看次数

标签 统计

javascript ×2

methods ×1

sudoku ×1