Uhm no, qui dovresti passare a nAppar come secondo parametro (x) il valore di a[i] ... non solo i.
Con solo for (cicli in generale) sì. Tra l'altro sarebbe un pochino ottimizzabile (la tua scansione annidata parte sempre dall'inizio ... non servirebbe; e il ciclo annidato potrebbe terminare appena trovate k occorrenze, dovrebbe essere parametrabile, ovviamente).
Altrimenti si possono sfruttare le collezioni, in modo specifico una mappa (meglio "hashed", es. HashMap) con associazioni valore -> contatore. Se l'array è molto grande, supera certamente i for annidati.


Rispondi quotando