vic57Да, а можно один раз пройти. Если там миллион элементов в списке, а сам код вызывается 10000 раз, это имеет значение. Поэтому стараются всегда писать однопроходные коды. У них сложность O(n), тогда как у тебя сложность O(n^2) - так называемый квадратный код, присущий новичкам.
первый проход - счетчик, второй - массив по условию
marvellikДа, что-то я протупил, видимо. Если так, то словарь не нужен тогда, достаточно одного множества для неуникальных элементов и потом список по второму разу пройти и выбрать элементы, входящие во множество неуникальных. Это оптимальный алгоритм.
py.user.next так результат не соответствует заданию
Тут всё равно список нужно до конца пройти как минимум один раз, прежде чем выбирать неуникальные элементы, потому что может быть так, что первый элемент будет 1, потом будет миллион элементов 0, а потом в конце будет опять элемент 1. И пока до последнего элемента не дойдёшь, никак не определишь, что первая еденица должна сохраняться в списке вывода. То есть ты не можешь на ходу это лепить, поэтому однопроходный алгоритм здесь не прокатит.