Ох уж эти местные умники

Все хохмят.
Тебе как оптимизацию кода надо делать - по памяти или по скорости.
В первом случае - надо будет при нахождении отрицательного элемента сдвигать все последующие на 1 влево. Для второго случая - создавать новый массив и копировать в него все положительные элементы.