Search⌘ K
AI Features

Matchsticks to Square

Explore how to apply backtracking techniques to solve the Matchsticks to Square problem. Learn to check if all matchsticks can be arranged to form a square without breaking sticks or reuse, and understand problem constraints and solution optimization.

Statement

Given an integer array, matchsticks, where matchsticks[i] is the length of the ithith matchstick. Use every single matchstick to create a square. No stick should be broken, although they can be connected, and each matchstick can only be used once.

Return TRUE if we can make this square; otherwise, return FALSE.

Constraints:

  • 11 \leq matchsticks.length 15\leq 15

  • 11 \leq matchsticks[i] 103\leq 10^3

Examples

Understand the problem

Let’s take a moment to make sure you’ve correctly understood the problem. The quiz below helps you check if you’re solving the correct problem:

Matchsticks to Square

1.

Can we create a square using the matchsticks below?

matchsticks = [1, 1, 1, 1, 2]

A.

TRUE

B.

FALSE


1 / 2

Figure it out!

We have a game for you to play. Rearrange the logical building blocks to develop a clearer understanding of how to solve this problem.

Note: As an additional challenge, we have intentionally hidden the solution to this puzzle.

Sequence - Vertical
Drag and drop the cards to rearrange them in the correct sequence.

1
2
3
4
5
6
7
8

Try it yourself

Implement your solution in the following coding playground:

We have left the solution to this challenge as an exercise for you. An optimal solution to this problem runs in O(n*2n) time and takes O(2n) space. You may try to translate the logic of the solved puzzle into a coded solution.

JavaScript
usercode > main.js
function matchsticksToSquare(matchsticks) {
// Replace this placeholder return statement with your code
return false;
}
export {
matchsticksToSquare
}
Matchsticks to Square