Це цікаве питання, яке я знайшов в Інтернеті. Враховуючи масив, що містить n чисел (без інформації про них), ми повинні попередньо обробити масив за лінійним часом, щоб ми могли повернути k найменших елементів за час O (k), коли нам дано число 1 <= k <= n
Я обговорював цю проблему з деякими друзями, але ніхто не міг знайти рішення; будь-яка допомога буде вдячна!
швидкі зауваження: -порядок k найменших елементів не важливий -елементи в масиві є числом, можуть бути цілими числами, а можуть бути і не (таким чином, не радіо-сортування) - число k не відомо на етапі попередньої обробки. попередня обробка - O (n) час. функція (знайти k найменших елементів) на час O (k).