Il tuo algoritmo e' DECISAMENTE INEFFICENTE.
Non sto parlando di codice scritto male, ma di ALGORITMO CONCETTUALMENTE INEFFICENTE.
In pratica, si dice che ha COMPLESSITA' COMPUTAZIONALE QUADRATICA:
cioe' se RADOPPI il numero di elementi da contare, il tempo per contarli si QUADRUPLICA !!!!
Ora con 10 elementi, non e' un problema, ma prova con 1000, o 100.000.
Per saper risolvere questo esercizio, il problema NON E' saper programmare, ma CONOSCERE GLI ALGORITMI E LE STRUTTURE DATI.
Ad esempio, secondo te, SE I DATI FOSSERO ORDINATI, sarebbe piu' o meno facile contare il numero di occorrenze?
Infine, l'ULTIMA tua domanda (NON SONO CIFRE, SONO NUMERI!!!!) e' bischera!
E' come chiedere: di che colore e' il cavallo bianco di Napoleone??
Nero, ovviamente !!!!
PS:
0,1,...9 SONO LE CIFRE
1001 e' un NUMERO formato da 4 CIFRE
3 e' un NUMERO formato da 1 CIFRA
Il tuo ARRAY NON CONTIENE CIFRE, MA NUMERI!!!!!
!!!!