backtracking: add unique permutation algorithm with test cases #7078
+93
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do?
This pull request adds a new backtracking algorithm to generate UNIQUE permutations
of a given string, even when duplicate characters exist.
Features of this contribution:
Test Cases Added
Added JUnit test file
UniquePermutationTest.javawith:These ensure correctness and edge case handling.
Folder Structure
Why this is useful
This algorithm is a fundamental backtracking pattern and
is not currently present in the repository in unique form.
It adds educational value and ensures correctness through test cases.
Validation
clang-format -i --style=file path/to/your/file.java