登录
  • #刷题

N皇‌‌‍‍‌‍‍‌‍‌‍‍‌‍‍‍‍‌‍‌‍‌‌‍‌‌‌‌‍‍‍‌后这样的DFS题怎么在找到第一个解的时候就不再继续?

drunkpianonj
1372
4
突然想到这个问题。。

比如leetcode 51题的N皇后,会遍历所有的解的可能性然后打印出所有的解,方法是用for循环里面加上dfs:

private void dfsHelper(int n, int[] col, int row) {[br]
if (row == n) {

//...

//加到解集里面去

return;

}

for (int i = 0; i < n; i++) {

col[row] = i;

if (checkValid(row, col)) {

dfsHelper(n, col, row + 1);

}

}

}

那如果想在找到第一个皇后之后就不再继续下去,该怎么修改呢?
4条回复
热度排序

发表回复