У меня есть код следующего вида в MATLAB:
indices = find([1 2 2 3 3 3 4 5 6 7 7] == 3)
Это возвращает 4,5,6 - индексы элементов в массиве, равном 3. Теперь. мой код делает такие вещи с очень длинными векторами. Векторы всегда сортируются.
Поэтому мне нужна функция, которая заменяет сложность O (n) на поиск с O (log n) за счет того, что массив нужно сортировать.
Я знаю об этом, но для того, что я знаю, он не возвращает индексы всех предметов, только последний (мне все они нужны).
По соображениям переносимости мне нужно, чтобы решение было только MATLAB (без скомпилированных файлов mex и т.д.)