Array Partition

EasyArrayGreedySortingCounting Sort

Solution

import { range } from '@algorithm/lib';
 
export function arrayPairSum(nums: number[]): number {
  const n = nums.length;
  nums.sort((a, b) => a - b);
  return [...range(0, n, 2)].reduce((acc, i) => acc + Math.min(nums[i], nums[i] + 1), 0);
}