题解 | #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)
全部评论

相关推荐

10-24 11:10
山西大学 Java
若梦难了:哥们,面试挂是很正常的。我大中厂终面挂,加起来快10次了,继续努力吧。
点赞 评论 收藏
分享
shtdbb_:还不错,没有让你做了笔试再挂你
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-20 19:57
已编辑
某大厂 golang工程师 23.0k*16.0, 2k房补,年终大概率能拿到
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务