2
* @param {number[]} nums6
var waysToPartition = function (nums, k) {7
let totalSum = nums.reduce((acc, curr) => acc + curr);12
for (let i = 0; i < nums.length - 1; i++) {14
const right = totalSum - left;15
if (rightDiff[left - right]) rightDiff[left - right]++;16
else rightDiff[left - right] = 1;19
let maxPartition = rightDiff[0] ? rightDiff[0] : 0;21
for (let i = 0; i < nums.length; i++) {23
let diff = k - nums[i];24
const right = totalSum - left;25
let leftVal = leftDiff[`${diff}`] ? leftDiff[`${diff}`] : 0;26
let rightVal = rightDiff[`${-diff}`] ? rightDiff[`${-diff}`] : 0;28
maxPartition = Math.max(maxPartition, leftVal + rightVal);29
if (leftDiff[left - right]) leftDiff[left - right]++;30
else leftDiff[left - right] = 1;32
rightDiff[left - right]--;