zoukankan      html  css  js  c++  java
  • LeetCode第五十二题-N皇后二(JAVA)

    N-Queens II

    问题简介:给定一个n*n的棋盘,求解如何将n个皇后放置在棋盘上, 保证其之间不互相攻击,即给定一个整数 n,返回所有不同的解决方案的个数

    注:例如下图为n = 8 时的一个解

    举例:

    输入: 4

    输出:2

    解释: [

    [".Q…", // Solution 1

    “…Q”,

    “Q…”,

    “…Q.”],

    ["…Q.", // Solution 2

    “Q…”,

    “…Q”,

    “.Q…”]

    ]

    解法一:

    利用递归,首先从第一行元素开始,逐行扫描判断,主要的关注点在于判断Q值的同列,斜向上是否有Q值,这里赋予值1代表’Q’值及’.'为0,当判断斜向时,从左上到右下的方向上(x - y)值固定,从左下到右上的方向上(x + y)值固定,(x,y即横纵坐标),最后要注意递归时,值的清理,最后返回结果集合的size()

    小白刷题之路,请多指教— — 要么大器晚成,要么石沉大海

  • 相关阅读:
    最短路径问题/Spfa
    cddiv/数组维护
    cfdiv2/c/找规律
    Codeforces Round #343 (Div. 2)【A,B水题】
    POJ 2135_Farm Tour
    POJ 3469_Dual Core CPU
    POJ 3469_Dual Core CPU
    POJ 3281_Dining
    POJ 3281_Dining
    POJ 3041_Asteroids
  • 原文地址:https://www.cnblogs.com/lalalaczq/p/11026430.html
Copyright © 2011-2022 走看看