choose → explore → un-choose
[1,2]
1
[2,1]
2
[ ]
permutations found
(none yet)
The universal backtracking template
▸1backtrack(path):2 if path is complete: record path; return3 for candidate in candidates(path):4 path.push(candidate) // choose5 if valid(path): // prune invalid early6 backtrack(path) // explore7 path.pop() // un-choose8 return
state
- input[1, 2]