整合两个有序集合 时间复杂度最小为O(n)

 如果这两个集合是无序的 那么时间复杂度肯定就是O(n^2)

但是因为是有序的所以时间复杂度就可以为O(n)

直接上代码:

public static List<Integer> sort(List<Integer> list1 , List<Integer> list2){
List<Integer> list = new ArrayList<Integer>();
int i = 0 , j = 0;
while(i < list1.size() && j < list2.size()){
if(list1.get(i) < list2.get(j)){
list.add(list1.get(i++));
}else{
list.add(list2.get(j++));
}
}
while(i < list1.size()){
list.add(list1.get(i++));
}
while(j < list2.size()){
list.add(list2.get(j++));
}
return list;
}
原文地址:https://www.cnblogs.com/bimingcong/p/12074124.html