алгоритм сортировки массива нулей и единиц за O(n)
От: insighter ОАЭ http://upwork.com/freelancers/~016e5772d90cce5fd1
Дата: 20.10.10 11:12
Оценка: :)
достаточно простенькая задачка: есть массив состоящий вперемешку из нулей и единиц, нужно за O(n) его отсортировать без использования доп массивов для хранения результата.

Придумал решения с 2-мя доп индексами для хранения отсортированных границ: один хранит границу нулей слева, другой — границу единиц справа, далее итерируемся к центру и swap-им елементы если надо, перемещая к друг другу эти 2 метки. заканчиваем когда они сойдутся, в итоге O(n/2 + n/n) = O(n)

Есть ли более оптимальные варианты?
java шараги -> enterprise галеры, банки -> highload microservices + bigdata/ml
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.