История изменений
Исправление BruteForce, (текущая версия) :
Если уже знаешь значение и оно уникально:
auto known_value{2};
auto i = std::find(std::begin(v), std::end(v), known_value);
Если знаешь значение и хочешь производительности (или гарантированно уникально только в последних двух элементах):
auto known_value{2};
auto i = std::find(std::rbegin(v), std::rend(v), known_value);
Если знаешь последнее значение и у тебя есть какой-то непонятный итератор:
auto known_value{3};
if (i == std::end(some_container))
i = std::prev(i);
else
while (*i != known_value)
++i;
i = std::prev(i);
Исправление BruteForce, :
Если уже знаешь значение и оно уникально:
auto known_value{2};
auto i = std::find(std::begin(v), std::end(v), known_value);
Если знаешь значение и хочешь производительности (или гарантированно уникально только в последних двух элементах):
auto known_value{2};
auto i = std::find(std::rbegin(v), std::rend(v), known_value);
Если знаешь последнее значение и у тебя есть какой-то непонятный итератор:
auto known_value{3};
while (*i != known_value)
++i;
i = std::prev(i);
Исходная версия BruteForce, :
Если уже знаешь значение и оно уникально:
auto known_value{2};
auto i = std::find(std::begin(v), std::end(v), known_value);
Если знаешь значение и хочешь производительности (или гарантированно уникально только в последних двух элементах):
auto known_value{2};
auto i = std::find(std::rbegin(v), std::rend(v), known_value);