C# Perm Check
static int PermCheck(int[] a)
{
var sorted = (int[])a.Clone();
Array.Sort(sorted);
for (int k = 0; k < sorted.Length; k++)
{
if (k + 1 < sorted.Length && sorted[k] != k + 1)
{
return 0;
}
}
return 1;
}
This validates that every value from 1 to N appears exactly once.