Finden Sie einzigartige zahlen im array

Gut, habe ich feststellen müssen, wie viele verschiedene zahlen in einem array.

Beispielsweise, wenn array ist: 1 9 4 5 8 3 1 3 5

Sollte die Ausgabe 6, weil 1,9,4,5,8,3 sind einzigartig und 1,3,5 wiederholen (nicht eindeutig).

So, hier ist mein code bisher..... funktioniert nicht richtig gedacht.

#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;
}
Sortieren Sie das array, dann ist es trivial. Versuchen Sie herauszufinden, für sich selbst, wie die Komplexität, die im Vergleich zu der Komplexität Ihrer Lösung.
Dies scheint Hausaufgaben auf mich... aber ja, können Sie eine Sortierreihenfolge für das array verwenden, oder Sie können eine hashtable.
scheint SO, ist ein guter Ort, um last-minute-Hausaufgaben gemacht. format-Frage, Stelle es auf, SO, ???, Antwort bekomme!
Scheint es nicht, wenn man bedenkt, dass fast alle Antworten auf diese Fragen haben Sie entweder einen falschen Algorithmus oder verwenden Sie die standard-Bibliothek für den job - das ist offenbar nicht das, was diese Hausaufgabe ist über ...
Dies ist die beste Logik, die ich jemals gefunden wurde.stackoverflow.com/questions/28320454/...

InformationsquelleAutor user2041143 | 2013-02-06

Schreibe einen Kommentar