leetcode-52. N-Queens II
来源:互联网 发布:老备案域名出售 编辑:程序博客网 时间:2024/05/18 14:43
Follow up for N-Queens problem.
Now, instead outputting board configurations, return the total number of distinct solutions.
题意解析:
好吧这题和N-Queens一样,甚至还简单了,思路可以参考我之前写的这篇博客leetcode-51. N-Queens,这里直接给出代码了:
public class Solution { private int result = 0; public int totalNQueens(int n) { int[] queens = new int[n]; backTracking(queens, n, 0); return result; } public void backTracking(int[] queens, int n, int row){ for(int col = 0; col < n; col++){ if(check(queens, n, row, col)){ queens[row] = col; if(row == n - 1){ result++; queens[row] = 0; return; } backTracking(queens, n, row + 1); queens[row] = 0; } } } public boolean check(int[] queens, int n, int row, int col){ for(int i = 0; i < row; i++){ //三种情况不成立:正斜线(q[i]-i=q[j]-j),反斜线(q[i]+i=q[j]+j),列相等,注意这里行是不可能相等的 if(queens[i] == col || queens[i] + i == col + row || queens[i] - i == col - row){ return false; } } return true; }}
噫!LeetCode正在修复运行时间分布图,如果我以后想起来的话,这个图片会改掉的。
1 0
- LeetCode 52. N-Queens II
- LeetCode --- 52. N-Queens II
- LeetCode 52.N-Queens II
- [Leetcode] 52. N-Queens II
- [leetcode] 52.N-Queens II
- [leetcode] 52. N-Queens II
- LeetCode 52. N-Queens II
- leetcode 52. N-Queens II
- LeetCode 52. N-Queens II
- LeetCode 52. N-Queens II
- leetcode.52. N-Queens II
- LeetCode 52. N-Queens II
- [LEETCODE]52. N-Queens II
- [LeetCode] 52. N-Queens II
- leetcode 52. N-Queens II
- leetcode-52. N-Queens II
- leetcode 52. N-Queens II
- LeetCode 52. N-Queens II
- 动态规划问题系列---Disk Schedule
- React 相关方法(API)介绍-元素与组件操作
- iOS tcp 接收数据处理
- Jackson实现Object对象与Json字符串的互转
- Android—Activity详解
- leetcode-52. N-Queens II
- java中的foreach循环
- opencv rect类
- cuda调优
- Spark入门实战指南——HIVE
- java中遍历MAP的几种方法
- 私有成员变量在block如何避免循环引用
- js 获取、清空input type="file"的值示例代码
- CSS多个class样式使用实践-多用组合,少用继承