Fair Candy Swap
EasyArrayHash TableBinary SearchSorting
Solution
export function fairCandySwap(aliceSizes: number[], bobSizes: number[]): number[] {
const totalAliceSize = aliceSizes.reduce((acc, size) => acc + size, 0);
const totalBobSize = bobSizes.reduce((acc, size) => acc + size, 0);
const difference = (totalAliceSize - totalBobSize) / 2;
const bobSizeSet = new Set(bobSizes);
for (const aliceSize of aliceSizes) {
const bobSize = aliceSize - difference;
if (bobSizeSet.has(bobSize)) {
return [aliceSize, bobSize];
}
}
return [-1, -1];
}