TypeScript Perm Check
function permCheck(a: number[]): number {
  const sorted = [...a].sort((x, y) => x - y);

  for (let k = 0; k < sorted.length; k++) {
    if (sorted[k + 1] !== undefined && sorted[k] !== k + 1) {
      return 0;
    }
  }

  return 1;
}

This validates that every value from 1 to N appears exactly once.