Elixir Perm Missing Element
defmodule PermMissingElement do
def perm_missing_element(a) do
sorted = Enum.sort(a)
sorted
|> Enum.with_index()
|> Enum.find_value(fn {v, k} -> if v != k + 1, do: k + 1 end)
|> Kernel.||(length(sorted) + 1)
end
end
This uses the expected sum of 1..N+1 and subtracts the actual sum to find the missing value.