Longest increasing subsequence: Difference between revisions

Content added Content deleted
Line 301: Line 301:
// extract LIS from nodes
// extract LIS from nodes
List<E> result = new ArrayList<E>();
List<E> result = new ArrayList<E>();
for (Node<E> node = pileTops.get(pileTops.size()-1); node != null; node = node.pointer)
for (Node<E> node = pileTops.size() == 0 ? null : pileTops.get(pileTops.size()-1);
node != null; node = node.pointer)
result.add(node.value);
result.add(node.value);
Collections.reverse(result);
Collections.reverse(result);