1632
правки
Изменения
м
HashMap<E,E> previous
rollbackEdits.php mass rollback
== Псевдокод ==
Map<E, E> previous
<font color = green>// формирование стопок</font>
List<Stack<E>> createPiles(E[] source):
List<Stack<E>> piles
'''for''' i = 0..n - 1
Stack<E> pile = Pile(source[i])
<font color = green>// Получение отсортированного массива</font>
'''bool''' comparePiles(Stack<E> x, Stack<E> y):
return x.peek() < y.peek()
E[] getSortedArray(E[] source): List<Stack<E>> piles = createPiles(source): priorityQueuePriorityQueue<Stack<E>> q(piles, '''comparator: ''' = comparePiles)
'''for''' i = 0..n - 1
answer[i] = q.min().pop()
<font color = green>// Получение наибольшей возрастающей подпоследовательности</font>
E[] getLIS(List<Stack<E>> piles):
lis[n - 1] = piles[piles.size - 1].peek()
E prev = previous.get(lis[n-1])
'''for''' i = n - 2..0
lis[i] = prev
[[Категория: Дискретная математика и алгоритмы]]
[[Категория: СортировкаСортировки]]