美文网首页
51.N皇后

51.N皇后

作者: _道友请留步_ | 来源:发表于2018-05-11 14:20 被阅读0次
class Solution {
    public List<List<String>> solveNQueens(int n) {
                final List<List<String>> lists = new ArrayList<>();
        int[] nums = new int[n];
        for(int i = 0; i < n; i++){
            nums[i] = Integer.MIN_VALUE;
        }
        queen(lists, nums, 0);
        return lists;
    }

    public void queen(List<List<String>> lists, int[] nums, int cur){
        if(cur == nums.length){
            List<String> list = new ArrayList<>();
            StringBuilder sb ;
            for(int i = 0; i < nums.length; i++){
                sb = new StringBuilder();
                for(int j = 0; j < nums.length; j++){
                    if(j == nums[i]){
                        sb.append("Q");
                    } else {
                        sb.append(".");
                    }
                }
                list.add(sb.toString());
            }
            lists.add(list);
            return ;
        }
        for(int col = 0; col < nums.length; col++){
            nums[cur] = col;
            boolean flag = true;
            for(int row = 0; row < cur; row++){
                if(nums[row] == col || Math.abs(col - nums[row]) == cur - row){
                    flag =false;
                    break;
                }
            }
            if(flag){
                queen(lists, nums, cur+1);
            }
        }
    }
}

相关文章

  • 51.N皇后

  • 51.N皇后

    题目描述: n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 上图...

  • LeetCode 51.N皇后

    1、题目 2、分析 这道题目的主要困难,是在于怎么记住上一层选择的状态,这里定义一个char[][] 数组作为棋盘...

  • 51.N皇后(回溯法)

    题目n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 上图为 8 ...

  • leetcode刷题汇总复习

    这里是我leetcode中所有做过的题目的汇总,方便自己复习 297.二叉树的序列化与反序列化** 51.N皇后 ...

  • 皇后锅美食项目招商实操步骤

    分享皇后锅美食项目市场计划,皇后锅项目带来的八项收入,体验皇后锅美食,参加皇后锅美食项目的线下学习,培训皇后锅美食...

  • LeetCode 52. N皇后 II(N-Queens II)

    52. N皇后 II N皇后 IIn 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之...

  • 镇店之宝 皇后秘制猪蹄

    听到皇后秘制猪蹄可能很多人都会疑惑,名字由来“皇后”难道是皇后做的猪蹄? 我来给你解答疑惑“皇后”是安利皇后金锅所...

  • 还会不会跟他一起?

    权杖2逆 权杖皇后逆 皇后

  • 植物养护-如意皇后

    皇后(Aglaonema) 皇后(Aglaonema)品种繁多,有雅丽皇后、白马王子、如意、红宝石和吉祥...

网友评论

      本文标题:51.N皇后

      本文链接:https://www.haomeiwen.com/subject/mqufdftx.html