问题描述:
Follow up for N-Queens problem.
Now, instead outputting board configurations, return the total number of distinct solutions.
原问题链接:https://leetcode.com/problems/n-queens-ii/
问题分析
这个问题和前面的问题基本上一样,无非是不需要保存它的所有位置信息,只需要记录它有多少个布局而已。所以只需要做一点小的改变。在递归函数里定义一个List,每次结束的时候在List里加一个元素。这样到执行结束的时候返回List的长度就可以了。
public class Solution { public int totalNQueens(int n) { int[] list = new int[n]; List<Integer> result = new ArrayList<Integer>(); search(0, list, result); return result.size(); } public void search(int index, int[] list, List<Integer> result) { if(index == list.length) { result.add(1); return; } for(int i = 0; i < list.length; i++) { list[index] = i; if(match(list, index)) search(index + 1, list, result); } } boolean match(int[] a, int i) { for(int j = 0; j < i; j++) { if(a[j] == a[i] || Math.abs(a[j] - a[i]) == Math.abs(j - i)) return false; } return true; } }
相关推荐
leetcode 71 Python用 Python 编写 Leetcode (数据科学家的解决方案) - 易于理解的最佳解决方案,可以通过所有 Leetcode 测试用例,对于非 ...leetcode ...leetcode ...N-Queens (HARD) Leetcode 52. N-
leetcode 分类 LeetCode Progress 128/154 Other Solutions C++,有详细思路解释 python,部分有解释 Java,部分有解释 ...norvig神牛Python代码写的很飘逸,果然是有LISP...N-Queens N-Queens II Balanced Binary Tree Binar
051:N-Queens 052:N-Queens II 071: Letter Combinations of a Phone Number 093:Restore IP Addresses 树的遍历问题也可以用这种思想来解释。只不过是特殊的递归而已。(只有两路,不用循环) 题型二:动态规划...
比如n-queens-ii对应链接为: 题目 url add-two-numbers find-peak-element longest-common-subsequence longest-consecutive-sequence max-area-of-island next-greater-element-ii serialize-and-deserialize-...
leetcode怎么销号 LeetCode-Solutions :green_heart:My ...N-Queens Hard 回溯 0053 Maximum Subarray Easy 动态规划 0069 Sqrt(x) Easy 二分、牛顿迭代 0070 Climbing Stairs Easy 动态规划 0075 Sort Colors M
leetcode 推开箱子进深 Leetcode-May-Challenge-2021 它包含 Leetcode May Challenge 2021 的解决方案 比赛链接: 问题 问题名称 点击打开问题 无向图中的连通分量数 ...N-皇后 ...N-Queens II 最大差距 搜索建议系统
leetcode ...N-Queens II 最大子阵列 螺旋矩阵 跳跃游戏 合并间隔 插入间隔 螺旋矩阵 II 排列顺序(无法访问文章) 61-70 轮换名单 独特的路径 独特的路径 II 最小路径和(无法访问文章) 有效号码 加一
leetcode中国力码 我的 Leetcode 生活经历! 我创建了这个存储库来分享我对 leetcode 问题的解决方案。 另外,我会补充一下我在解决问题时的想法,也会补充一些简单的测试用例以供...N-Queens(硬) 56. 合并间隔(中)
N-Queens II 平衡二叉树 二叉树中序遍历 二叉树最大路径和 将排序数组转换为二叉搜索树 将排序列表转换为二叉搜索树 将二叉树展平到链表 二叉树的最大深度 二叉树的最小深度 路径和 排列 排列二 在每个节点中填充下...
leetcode 530 leetcode 我对 leetcode 的解决方案。 使用c++解决问题。 # 标题 解决方案 标签 方法 1185 一周中的天 大批 5499 检测长度模式重复 k 次或多次 大批 ...n-queens-ii DFS,搜索 1003 替
leetcode 530 力码练习 前 250 个问题 1 二和 :check_mark: 3 无重复字符的最长子串 :check_mark: 4 两个有序数组的中位数 5 最长回文子串 7 反转整数 8 字符串到整数 (atoi) 10 正则表达式匹配 11 盛水的容器 12 ...
leetcode力扣是什么 leetcode-按类别 看了一些leetcode刷题指南,总结一下两个重点,一是...N-Queens (hard) 132 Palindrome Partitioning (hard) 212 Word Search II (hard) DFS /二叉树 the difference between df
49组Anagrams视频讲解50 Pow(x,n)视频讲解51 N-Queens视频讲解52 N-Queens II视频讲解53最大子数组视频讲解54螺旋矩阵视频讲解55跳转游戏视频讲解56合并间隔视频讲解57插入间隔视频讲解59螺旋矩
leetcode ...NQueens * 回溯法- 网易2017算法工程师笔试题3 * 贪心法- Dijkstra算法 ShortestDistanceAlgorithm * 动态规划- Floyd最短路径算法 ShortestDistanceAlgorithm * 动态规划- 最长公共子序列 ...
leetcode 2 和 c PlayLeetCode 基于c++的LeetCode训练 尖端: 单击问题的Number (#) 单击Solution ([00xx-Solution]) 到解决方案 # 标题 困难 方法 解决方案 ...N ...组合和II ...N-皇后 ...N-Queens II 难的
N-Queens II 59.44% 97 交错串 TLE 146 LRU缓存 83.44% 174 地牢游戏 100% 的 Go 提交 354 俄罗斯娃娃信封 23.99% 中等评价 数量 问题 殴打 2 添加两个数字 35.18% 3 无重复字符的最长子串 79.27% 5 最长回文子串 87...
lru缓存leetcode leetcode 版权所有 (C) 2015-2016 Cloudzfy。 版权所有。 ================================================== ====== ...N ...组合和II ...n) N-皇后 N-Queens II 最大子阵列 螺旋矩阵
leetcode中文版lintcode题解 相关链接 目录 指数 标题 代码 困难 1 A + ...N-皇后 ...N-Queens II 中等的 35 反向链表 简单的 36 反向链表 II 中等的 37 反转 3 位整数 幼稚的 38 搜索二维矩阵 II 中等
leetcode 棋盘算法实现 有趣的算法或有趣的算法实现 动态规划(非常基础)/递归 ...nQueens.py 很少包含外部库,所以下面的就可以了。 编译任何 C 程序: gcc -o X Xc 执行 python 脚本: chmod 755 X.py --> ./X.py
NQueens CPP 回溯 哇 052. NQueensII CPP 回溯 088. 合并排序数组 CPP 大批 118. 帕斯卡三角形 CPP 大批 217. 包含重复 CPP 大批 219. 包含副本 II CPP 大批 283. 移零 CPP 大批 321. 创建最大数 CPP DP,贪婪 402....