Назад к задачам
Junior — Senior
18

Обработчик и сортировщик потенциально бесконечного потока натуральных чисел

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Дано: Последовательность натуральных чисел, которая может быть бесконечной.

Требуется:

  1. Реализовать функцию, принимающую на вход эту последовательность и после просмотра первых n элементов возвращающую не более n уже просмотренных чисел, упорядоченных либо по возрастанию, либо по убыванию.
  2. Оценить временную сложность алгоритма в виде O(f(n), m).

Считается, что n значительно превышает m ( n ≫ m > 0 ), а также n ≫ m. Последовательность имеет длину n.

function seq(int $n): Generator
{
    while ($n > 0) {
        yield mt_rand(1, 1000);
        $n--;
    }
}

function solution(Generator $seq, int $n): array
{
}

print_r(solution(seq(1000), 10));