Biorąc pod uwagę sortowane std::vector<int>
, chciałbym, za pomocą funkcji C++ 11-STD, znaleźć indeks, w którym elementy przejść od negatywnego do pozytywnego.Podany posortowany wektor znajduje przejście z ujemnego do dodatniego
Mam świadomość, że mogę to zaimplementować za pomocą wyszukiwania binarnego, ale jestem zainteresowany, czy istnieje jakakolwiek funkcja w standardowej bibliotece, podobna do unarnej find_if
, która ułatwiłaby to wyszukiwanie (być może w połączeniu z prawidłowym wyrażeniem lambda).
Co z 'std :: find_if'? – Rakete1111
@ Rakete1111: find_if jest liniowy, ale problem jest rozwiązywany w czasie LogN –
@ Armen Tsirunyan Prawda, nawet poza tym nie wiem, jak używać find_if w tym kontekście – user695652