DEV Community

Mukilan Palanichamy
Mukilan Palanichamy

Posted on

My journey in competitive programming

Hi, Folks! Today, I solved three problems on LeetCode: Next Permutation, Permutations II, and N-Queens. In all of these problems, understanding the problem statement and visualizing the approach is really important. For these types of problems, which involve backtracking and recursion, it’s crucial to dry run the code multiple times — at least twice or thrice — to fully understand the problem and the solution.

In the N-Queens problem, you need to dry run the code with different test cases to grasp its functionality. The goal is to check all possible positions to place a queen, and if a position doesn’t meet the requirements, you should not place the queen in that specific position.

For both Next Permutation and Permutations II, it’s essential to identify the right logic. Some problems require specific data structures to solve, while others involve techniques and algorithms. In the Next Permutation problem, we traverse the array, swap numbers as needed, and rearrange them into the desired order to solve the problem.

In Permutations II, we use backtracking to generate all possible permutations. Since the list may contain duplicate elements, we begin by sorting it. Using backtracking, we append all elements to generate permutations, keeping track of which elements have already been used. This prevents us from forming duplicate permutations.

I hope my experience will be helpful!

Top comments (0)