Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <script type="text/javascript">
- function getPerms(chars) {
- document.write('Calling getPerms("' + chars + '")<br />');
- if (chars.length === 1) {
- // BASE CASE
- document.write("Base case, returning " + chars + "<br />");
- return [chars];
- }
- // RECURSIVE CASE
- let permutations = [];
- let head = chars[0];
- let tail = chars.substring(1);
- let tailPermutations = getPerms(tail);
- tailPermutations.forEach(function(tailPerm) {
- document.write("For " + chars + " putting head " + head + " in all places in " + tailPerm + "<br />");
- for (let i = 0; i < tailPerm.length + 1; i++) {
- let newPerm = tailPerm.slice(0, i) + head + tailPerm.slice(i);
- document.write("New permutation: " + newPerm + "<br />");
- permutations.push(newPerm);
- }
- });
- document.write("All permutations of " + chars + " are " + permutations + "<br />");
- return permutations;
- }
- document.write("Permutations of \"ABC\":<br />");
- document.write("Result: " + getPerms("ABC"));
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement