Comment retourner le nombre de valeurs distinctes/uniques dans un tableau par exemple ?
int[] a = {1,2,2,4,5,5};
Comment retourner le nombre de valeurs distinctes/uniques dans un tableau par exemple ?
int[] a = {1,2,2,4,5,5};
Cela dépend vraiment du nombre d'éléments dans le tableau. Si vous n'avez pas affaire à une grande quantité d'entiers, un HashSet ou un arbre binaire serait probablement la meilleure approche. D'un autre côté, si vous avez un grand tableau d'entiers divers (disons, plus d'un milliard), il pourrait être judicieux d'allouer un tableau de 2^32 / 2^8 = 512 MByte byte dans lequel chaque bit représente l'existence ou la non-existence d'un entier, puis de compter le nombre de bits définis à la fin.
Une approche par arbre binaire prendrait n * log n temps, tandis qu'une approche par tableau prendrait n temps. De plus, un arbre binaire nécessite deux pointeurs par nœud, ce qui augmente considérablement l'utilisation de la mémoire. Des considérations similaires s'appliquent également aux tables de hachage.
Bien sûr, si votre ensemble est petit, utilisez simplement le HashSet intégré.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.