需要实时的排序,然后取出长度最短的两个进行拼接。
因此需要用到优先队列。
这里说一下优先队列的使用
public class test {
static Comparator<Integer> cmp = new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2 - o1;
}
};
public static void main(String[] args) {
Queue<Integer> q = new PriorityQueue<>(cmp);
q.add(1);
q.add(3);
q.add(20);
q.add(12);
q.add(10);
int size = q.size();
for(int i=0; i<size; i++){
System.out.println(q.poll());
}
}
}
以上实现的是降序的优先队列