1
var movesToMakeZigzag = function (nums) {4
let lastEvenRight = Number.MIN_SAFE_INTEGER;7
let lastOddRight = nums[0];10
for (let i = 0; i < n; i++) {11
const currNum = nums[i];12
const nextNum = i < n - 1 ? nums[i + 1] : Number.MIN_SAFE_INTEGER;15
if (lastEvenRight >= currNum) evenMoves += lastEvenRight - currNum + 1;17
if (currNum <= nextNum) {18
evenMoves += nextNum - currNum + 1;21
lastEvenRight = Math.min(currNum - 1, nextNum);23
if (lastOddRight >= currNum) oddMoves += lastOddRight - currNum + 1;25
if (currNum <= nextNum) {26
oddMoves += nextNum - currNum + 1;29
lastOddRight = Math.min(currNum - 1, nextNum);33
return Math.min(oddMoves, evenMoves);