Ich wollte nur überprüfen, ob in meinem Array Dubletten enthalten sind. Ich auf Google gesucht und einige Ansätze sehen:Ist dieser Ansatz zum Überprüfen von Duplikaten in einem Array relativ effizient? Warum oder warum nicht?
- Doppel for-Schleife Schleifen obwohl das Array und vergleicht jedes Element
- ein Wörterbuch erstellen, die die Anzahl von Vorkommen jedes Element speichert
Aber diese Methoden erfordern viele Schleifen und ich bin irgendwie faul, eine große Menge an Code nur für diese Funktionalität zu schreiben. xD. So
Ich dachte, dieser kreative Art und Weise:
let containsDuplicates = Set(array).count != array.count
Dieses Verfahren ist jedoch schneller oder langsamer als die anderen beiden? Ich bin mir nicht sicher, weil es scheint, ein Set zu erstellen, das ich denke, muss durch das Array durchlaufen. Und ich weiß nicht, ob der Zugriff auf die count
auch das gesamte Array durchläuft.
Wenn ich nur höchstens 50 Elemente im Array habe, ist das überhaupt von Bedeutung?
Probieren Sie es aus und messen Sie die Zeit ... –
Versuchen Sie was? Ich weiß nicht, wie man die Code-Ausführungszeit misst. @MartinR Und ich möchte auch wissen, warum ich nicht weiß, wie ich die Antwort finden kann. – Sweeper
Dies ist der erste Google-Treffer, den ich für "Swift measure execution time" gefunden habe: http://stackoverflow.com/questions/24755558/measure-elapsed-time-in-swift. Die Antwort hängt auch vom Array-Inhalt ab, zB wie viele Duplikate enthalten sind. –