Circular Permutation in Binary Representation LeetCode solution in JavaScript
1var circularPermutation = function (n, start) {2const grayCodes = [];34let startIdx = -1;56for (let i = 0; i <= 2 ** n - 1; i++) {7grayCodes[i] = i ^ (i >> 1);89if (grayCodes[i] == start) startIdx = i;10}1112const res = [];1314for (let i = 0; i <= 2 ** n - 1; i++) {15res[i] = grayCodes[startIdx];1617startIdx++;1819if (startIdx == grayCodes.length) startIdx = 0;20}2122return res;23};