leetcode 51 N-Queens 回溯 万能结构
来源:互联网 发布:硫磺岛战役知乎 编辑:程序博客网 时间:2024/06/11 11:52
leetcode 51 N-Queens
n-皇后问题和求解置换问题类似,条件更加加强了一些
import java.util.ArrayList;import java.util.List;public class Solution {public static void main(String[] args){Solution s = new Solution();s.solveNQueens(4);} public List<List<String>> solveNQueens(int n) { List<List<String>> res = new ArrayList<List<String>>(); List<Integer> tmp = new ArrayList<Integer>(); solveNQueens(res,tmp,n); return res; }private void solveNQueens(List<List<String>> res, List<Integer> tmp, int n) {// TODO Auto-generated method stubif(tmp.size()==n){//TODO List<String> elem = new ArrayList<String>(); for(int j=0;j<=n-1;j++){ int val = tmp.get(j); String s = ""; for(int h=0;h<=n-1;h++){ if(h!=val){ s += "."; }else{ s += "Q"; } } elem.add(s); } res.add(elem); }else{for(int i=start;i<n;i++){if(!is_part_of_solution(tmp,i)) continue;tmp.add(i);solveNQueens(res,tmp,n);tmp.remove(tmp.size()-1);}}}private boolean is_part_of_solution(List<Integer> tmp, int i) {// TODO Auto-generated method stubint len = tmp.size();for(int j=0;j<len;j++){if(i==tmp.get(j)||i+len==j+tmp.get(j)||i-len==j-tmp.get(j)){return false;}}return true;}}
0 0
- leetcode 51 N-Queens 回溯 万能结构
- leetcode---N-Queens---回溯
- LeetCode 51. N-Queens 回溯
- LeetCode OJ - N-Queens 回溯法
- 【Leetcode】51. N-Queens(回溯)
- [leetcode 51] N-Queens
- LeetCode(51) N-Queens
- leetcode-51-N-Queens
- leetcode 51: N-Queens
- LeetCode 51: N-Queens
- LeetCode 51 - N-Queens
- Leetcode 51 N-Queens
- LeetCode 51 N-Queens
- leetcode(51):N-Queens
- LeetCode 51 N-Queens
- Leetcode 51 N-Queens
- 【LeetCode】N-Queens II N皇后问题 回溯法
- N-Queens And N-Queens II [LeetCode] + Generate Parentheses[LeetCode] + 回溯法
- 蓝桥杯 算法提高 9-2 文本加密
- android时间对话框TimePickerDialog介绍
- mac系统中使用tree 命令展示目录树结构
- Mongo 初识
- Spark入门实战系列--6.SparkSQL(上)--SparkSQL简介
- leetcode 51 N-Queens 回溯 万能结构
- 安卓开源项目周报0215
- Laravel 常用命令合集
- C#中图片与BASE64码互相转换
- Nginx自建CA配置https服务器
- 半年总结——在路上
- c# 图片按比例缩放
- OpenStack学习笔记(-)-虚拟化
- [gridView] -- index页面重写