欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

[leedcode 52] N-Queens II

发布时间:2023/12/10 编程问答 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 [leedcode 52] N-Queens II 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Follow up for N-Queens problem.

Now, instead outputting board configurations, return the total number of distinct solutions.

public class Solution {//本题类似于N-Queens,这个更简单一些,只需要求出解法的个数即可,因此没有了print步骤//注意:isvalid函数的参数,以及函数中i的范围// A[]的意义,可以代表棋盘的行int res;int A[];public int totalNQueens(int n) {A=new int[n];nqueens(0,n);return res;}public void nqueens(int cur,int n){if(cur==n){res++;}else{for(int i=0;i<n;i++){A[cur]=i;if(isValid(cur)){nqueens(cur+1,n); }}}}public boolean isValid(int cur){for(int i=0;i<cur;i++){if(A[i]==A[cur]||Math.abs(A[i]-A[cur])==cur-i)return false;}return true;} }

 

转载于:https://www.cnblogs.com/qiaomu/p/4641037.html

总结

以上是生活随笔为你收集整理的[leedcode 52] N-Queens II的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。