Это новая версия этого поста , чтобы отделить вопрос программирования от вопроса вероятности.
Я хочу сохранить номер, например, 25 случайно сгенерированных чисел от 1 до 365 в массиве. Но мне нужно отслеживать дубликаты. Вот как я думал об этом:
создать 4 массива: основной массив, массив для 2 дубликатов, массив для 3 дубликатов и один для более чем 3 дубликатов
добавить каждое сгенерированное число одно за другим в мастер-массив. Но прежде чем сделать это, просмотрите массив, чтобы увидеть, есть ли он там. Если это так, добавьте его во второй массив, но перед этим повторите описанный выше процесс и т. Д.
в конце процесса я мог бы подсчитать ненулевые значения в каждом массиве, чтобы узнать, сколько у меня уникальных чисел, сколько пришло дважды и т. Д.
это не очень эффективный алгоритм. Есть предложения по улучшению?
Может ли мой предложенный подход считаться большим O (n), то есть линейным?