leetcode 52. N 皇后 II

2023.9.10

leetcode 52. N 皇后 II_第1张图片

        本题是皇后问题的变式,让求出不同解决方案的数量,和之前做过的 N皇后 基本一样,最终返回ans里棋盘的数量即可。  

        当复习一下皇后问题了,代码如下:

class Solution {
private:
    vector> ans;
    //判断当前皇后落点是否合理
    bool is_valid(vector&chessboard,int row,int col,int n)
    {
        //正上方
        for(int i=row-1; i>=0; i--)
        {
            if(chessboard[i][col] == 'Q') return false;
        }
        //左上方
        for(int i=row-1,j=col-1; i>=0&&j>=0; i--,j--)
        {
            if(chessboard[i][j] == 'Q') return false;
        }
        //右上方
        for(int i=row-1,j=col+1; i>=0&&j&chessboard,int row,int n)
    {
        if(row == n)
        {
            ans.push_back(chessboard);
            return;
        }
        for(int col=0; col chessboard(n,string(n,'.'));
        backtrack(chessboard,0,n);
        return ans.size();
    }
};

你可能感兴趣的:(leetcode专栏,leetcode,算法,数据结构,cpp)