1
var minSwaps = function (nums) {2
const MAX = Number.MAX_SAFE_INTEGER;4
let ones = nums.reduce((acc, bit) => acc + bit, 0);6
const doubledNums = nums.concat(nums.slice(0, nums.length - 1));10
let onesWithinWindow = 0;12
for (let i = 0; i < doubledNums.length; ++i) {13
const rightBit = doubledNums[i];15
if (rightBit === 1) onesWithinWindow += 1;18
const leftBit = doubledNums[left];20
if (leftBit === 1) onesWithinWindow -= 1;24
if (i + 1 >= ones) minSwap = Math.min(minSwap, ones - onesWithinWindow);