【发布时间】:2013-03-19 05:14:22
【问题描述】:
public static List<Integer> returnIntersection(List<Integer> a,List<Integer> b){
List<Integer> l1=new ArrayList<Integer>(a);
List<Integer> l2=new ArrayList<Integer>(b);
l1.retainAll(l2);//find intersection in l2
l1=removeDuplicates(l1);
return l1;}
public static List<Integer> removeDuplicates(List<Integer> l) {
Set<Integer> se=new HashSet<Integer>(l);
l.clear();
l=new ArrayList<Integer>(se);
return l;}
上面的代码是返回一个包含 2 个没有重复的列表交集的列表。我的问题是这个的时间复杂度是多少? retainAll() 方法的时间复杂度是多少?将列表转换为集合是否有任何耗时?
【问题讨论】:
-
你看过实现了吗?