Несколько стратегий, которые можно использовать для быстрого подсчёта определённых чисел в последовательности:
Сортировка подсчётом. 1 Простейший вариант алгоритма для сортировки целых чисел. 1 Исходная последовательность чисел длины n хранится в массиве A, а вспомогательный массив C с индексами от 0 до k-1 изначально заполняется нулями. 1 Последовательно проходя по массиву A, в C[i] записывают количество чисел, равных i. 1 Затем достаточно пройти по массиву C и для каждого числа в диапазоне от 0 до k-1 последовательно записать число number в массив A количество раз, равное C[number]. 1
Подсчёт одинаковых пар чисел. 4 Быстрый алгоритм, который работает за линейное время O(n), но требует O(n) дополнительной памяти на вспомогательный массив для хранения промежуточных результатов. 4
Выбор стратегии зависит от конкретной задачи и условий её решения.