File tree Expand file tree Collapse file tree
src/main/java/algorithms/sprint3 Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -10,6 +10,13 @@ public class FastSort {
1010 Принцип работы алгоритма:
1111 1) Считываем n участников в массив.
1212 2) Сортируем массив in-place быстрой сортировкой.
13+ В качестве опорного элемента (pivot) берём участника из середины текущего отрезка.
14+ Далее двумя указателями:
15+ - указатель i двигаем слева направо, пока a[i] должен стоять левее pivot;
16+ - указатель j двигаем справа налево, пока a[j] должен стоять правее pivot.
17+ Когда находятся два элемента не на своих сторонах, меняем их местами.
18+ После завершения разбиения рекурсивно сортируем меньшую из двух частей,
19+ а большую продолжаем обрабатывать в цикле. Это уменьшает глубину стека.
1320 3) Определяем лучше участника методом boolean better(a, b) по правилам задачи:
1421 - у A решено больше задач;
1522 - при равенстве задач у A меньше штраф;
You can’t perform that action at this time.
0 commit comments