Distribuição de frequências

Retorne um dicionário que associe cada item distinto ao número de vezes que ele aparece. Mantenha as chaves na ordem em que aparecem pela primeira vez.

Exemplos

Program.GetFrequencies(new string[] { "A", "B", "A", "A", "A" }); // ➞ new Dictionary<string, int> { { "A", 4 }, { "B", 1 } }

Program.GetFrequencies(new int[] { 1, 2, 3, 3, 2 }); // ➞ new Dictionary<int, int> { { 1, 1 }, { 2, 2 }, { 3, 2 } }

Program.GetFrequencies(new bool[] { true, false, true, false, false }); // ➞ new Dictionary<bool, int> { { true, 2 }, { false, 3 } }

Program.GetFrequencies(new int[] { }); // ➞ new Dictionary<int, int> { }

Observações

  • Se receber um array vazio, retorne um dicionário vazio (veja o exemplo #4).
  • Mantenha as chaves na ordem em que aparecem pela primeira vez.