Multiplicidade de números

Escreva uma função que retorne um array de pares [número, multiplicidade]. A multiplicidade de um número é a quantidade de vezes que ele ocorre no array de entrada.

Por exemplo:

[5, 5, 1, 1, 5, 5, 3]
[[5, 4], [1, 2], [3, 1]]
// 5 aparece quatro vezes, 1 aparece duas vezes e 3 aparece uma vez.

O array final deve incluir cada número distinto apenas uma vez, e os pares devem ser ordenados de acordo com o momento em que cada número apareceu pela primeira vez no array original.

Exemplos

multiplicity([1, 1, 1, 2, 2, 3]) ➞ [[1, 3], [2, 2], [3, 1]]

multiplicity([1, 1, 1, 1, 1]) ➞ [[1, 5]]

multiplicity([1, 5, 4, 3, 2]) ➞ [[1, 1], [5, 1], [4, 1], [3, 1], [2, 1]]

Observações

N/A