Matchsticks to Square
Explore how to use backtracking to solve the matchsticks to square problem. Understand the constraints and develop a solution to determine if given matchsticks can form a perfect square without breaking any stick. Practice implementing this combinatorial challenge to improve your coding interview skills.
We'll cover the following...
Statement
Given an integer array, matchsticks, where matchsticks[i] is the length of the
Return TRUE if we can make this square; otherwise, return FALSE.
Constraints:
matchsticks.lengthmatchsticks[i]
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
Can we create a square using the matchsticks below?
matchsticks = [1, 1, 1, 1, 2]
TRUE
FALSE
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.
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.
bool MatchsticksToSquare(vector<int> matchsticks){// your code will replace this placeholder return statementreturn false;}