Elixir Perm Check
defmodule PermCheck do
def perm_check(a) do
sorted = Enum.sort(a)
size = length(sorted)
ok =
0..(size - 2)//1
|> Enum.all?(fn k -> Enum.at(sorted, k) == k + 1 end)
if ok, do: 1, else: 0
end
end
This validates that every value from 1 to N appears exactly once.