C ++ Set: Zählen von Elementen, die kleiner als ein Wert sind
Angenommen, ich habe eine STLset <int> s
und einint x
Wie kann ich die Anzahl der Elemente in zählen?s
das sind weniger alsx
?
Ich suche eineO(log n)
(oder ähnlich; alles, was einigermaßen besser ist alsO(n)
) Lösung;
Ich weiß es schonstd::distance(s.begin(), s.lower_bound(x))
, aber das istO(n)
Ich glaube, weilset
s sind keine wahlfreien Zugriffe.