Здравствуйте Vitalische, вы писали:
V>2 Андрей Тарасевич >>"Когда говорят "за один проход" имеется в виду — за O(N) операций. В твоем варианте понадобится порядка O(N) + O(M) операций, где M — длина массива счетчиков.". V>Уважаемый "Brainbench C and C++ Programming MVP". Будьте добры разобраться в том, что написано, прежде чем писать о каком-то "массиве счетчиков", которого нет. Дополнительных массивов НЕТ. a[] — исходный массив с числами.
Да ладно, не горячись. Это он про мой исходный вариант с дополнительным массивом написал. :)
V>2Lexey. V>По-моему, твой вариант будет работать. Решение короче и симпатичнее, чем у меня :)).
Должен. Он получается из твоего, если if разбить на две части. :)