vorausgesetzt, ich habe das folgende Array:
%Vor%unter der Annahme, dass das Array nach viewed_at
geordnet istWenn ich den letzten Ansichts-Hash im views -Array für eine bestimmte user_id abrufen möchte, könnte ich Folgendes tun:
%Vor%Dabei gibt erkennen das erste Element in einem Aufzählungszeichen zurück, für das der Block den Wert true hat.
Meine Frage lautet: Ich gehe davon aus, dass die Methode reverse O(n)
costs enthält. Wie kann ich also rückwärts erkennen, ohne das Array umzukehren? Oder ist die Methode reverse nicht O(n)
?
Methode Array#reverse
ist O (n) in Zeit und Raum. Da Sie das ganze umgekehrte Array nicht benötigen, können Sie Array # verwenden. reverse_each , das wäre O (1) im Raum. In der Praxis ist das nur für wirklich große Arrays relevant.
Tags und Links ruby arrays ienumerable reverse detect