O(N) le temps, O(N) de la mémoire
HT= Table de Hachage
HT.clear()
allez sur la liste dans l'ordre
pour chaque élément que vous voyez
if(HT.Contains(item)) -> HT.Remove(item)
else
ht.add(item)
à la fin, l'élément de la HT est l'élément que vous recherchez.
La Note de crédit @Jared Updike): Ce système permettra de trouver toutes les occurrences d'éléments.
commentaire: je ne vois pas comment les gens peuvent-ils voter en place des solutions qui vous donnent NLogN performance. dans quel univers est "mieux" ?
Je suis d'autant plus choqué que vous avez marqué la accepté de répondre à s NLogN solution...
Je suis d'accord, cependant, que si la mémoire est nécessaire pour être constante, alors NLogN serait (pour l'instant) la meilleure solution.