当前位置: 代码迷 >> 综合 >> leetcode练习题 n-queens-ii
  详细解决方案

leetcode练习题 n-queens-ii

热度:84   发布时间:2023-12-15 09:53:24.0

解题思路

与n-queens差不多,只不过row == n时不需要存储结果只需要将解法计数加一。

代码

class Solution {
public:int choose[10001];void dfs(int &res,int row,int n){if(row == n){res++;}else{for(int i = 0;i < n;i++){choose[row] = i;bool flag = true;for(int j = 0;j < row;j++){if(choose[j] == choose[row] || row - j == choose[j] - choose[row] || row - j == choose[row] - choose[j]){flag = false;break;}}if(flag)dfs(res,row + 1,n);}}}int totalNQueens(int n) {int res = 0;memset(choose,-1,sizeof(choose));dfs(res,0,n);return res;}
};