N-Queens: A Classic Backtracking Problem

Problem Statement:

The n-queens puzzle is the problem of placing n queens on an n x n chessboard such that no two queens attack each other. Two queen can attack each other when they share the same row, column, or diagonal.
One of the many valid configurations for 8-Queens problem:

Given an integer n, return all distinct solutions to the n-queens puzzle.

Each solution contains a distinct board configuration of the n-queens' placement, where 'Q' and '.' both indicate a queen and an empty space, respectively.

Example 1:
Input: n = 4

Output: [[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]

Example 2:
Input: n = 1
Output: [["Q"]]


  • NOTE: I highly recommend going through the Backtracking chapters in the order they are given in the Index page to get the most out of it and be able to build a rock-solid understanding.

Prerequisite: Backtracking Fundamentals

Detailed Algorithm Discussion:

Login to Access Content

Java Code:

Login to Access Content

Python Code:

Login to Access Content

Time Complexity:

Please subscribe to access the complexity analysis.

Don't forget to take in-depth look at the other backtracking problems because that is what would make you comfortable with using the backtracking template and master the art of Backtracking:


If you have any feedback, please use this form: https://thealgorists.com/Feedback.

Help Your Friends save 25% on our products