我的思路是将数组转换为列表,并检查B中的每个元素是否存在于A中。
但是当我使用原始数组时,我的逻辑不起作用。如果我使用
Integer [] a ={1,4,2,3,6,5};
Integer [] b = {2,4,1,3,5,6,7};
我的代码运行良好。
public static void main(String [] args)
{
int [] a ={1,4,2,3,6,5};
int [] b = {2,4,1,3,5,6,7};
List<Integer> l1 = new ArrayList(Arrays.asList(a));
List<Integer> l2 = new ArrayList(Arrays.asList(b));
for(Integer i :l2)
{
if(!l1.contains(i))
{
System.out.println(i);
}
}
}
我的算法时间复杂度为O(n+1),是否有更好的算法。
谢谢。