Trouver des numéros uniques dans la gamme

Eh bien, je dois trouver combien de nombres différents sont dans un tableau.

Par exemple si le tableau est: 1 9 4 5 8 3 1 3 5

La sortie devrait être de 6, car 1,9,4,5,8,3 sont uniques et le 1,3,5 répéter (pas unique).

Donc, voici mon code si loin..... ne fonctionne pas correctement pensé.

#include <iostream>

using namespace std;

int main() {
    int r = 0, a[50], n;
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    for (int j = 0; j < n; j++) {
        for (int k = 0; k < j; k++) {
            if (a[k] != a[j]) r++;
        }
    }
    cout << r << endl;
    return 0;
}
  • Trier le tableau, il est alors trivial. Essayez de trouver par vous-même comment la complexité de ce qui se compare à la complexité de votre solution.
  • Ce qui semble comme des devoirs à moi... mais oui, vous pouvez trier le tableau, ou vous pouvez utiliser une table de hachage.
  • semble ce est un bon endroit pour obtenir les dernières minutes de devoirs à faire. format de question, poster sur de SORTE que, ???, obtenir la réponse!
  • Il semble qu'il ne l'est pas - considérant que presque toutes les réponses à ces questions ont soit un mauvais algorithme ou de l'utilisation de la bibliothèque standard pour faire le travail - qui, apparemment, n'est pas ce que les devoirs sont sur ...
  • C'est le meilleur de la logique que j'ai jamais trouvé.stackoverflow.com/questions/28320454/...
InformationsquelleAutor user2041143 | 2013-02-06