题解 | #n-皇后#

n-皇后

http://www.nowcoder.com/practice/c77ac599d0764433a5946610a7626768

class Solution:
    def solveNQueens(self, n):
        res = []
        self.queen(res, [0 for _ in range(n)], n)
        return res
    def queen(self, result, board, n, row=0):
        if row >= n:
            plan = []
            for row, col in enumerate(board[::]):
                plan.append("." * col + "Q" + "." * (n - 1 - col))
            result.append(plan)
        else:
            for col in range(n):
                for i in range(row):
                    x, y = i - row, board[i] - col
                    if y == 0 or x == y or x == -y:
                        break
                else:
                    board[row] = col
                    self.queen(result, board, n, row + 1)
全部评论

相关推荐

野猪不是猪🐗:这种直接口头上答应,骗面试,面完了直接拉黑,相当于给自己攒面经了(
点赞 评论 收藏
分享
昨天 01:46
门头沟学院 Java
咩咩子_:请填空,你是我见过______
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务