给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。
简单难度。使用两个Hashset,首先遍历一个数组加入到第一个set集合,然后遍历第二个数组看是否有重复的元素,如果有则加入到第二个set集合,最后将第二个set集合的元素放到数组中返回即可。
public int[] intersection( int[] nums1, int[] nums2 ){
HashSet<Integer> set1 = new HashSet<>();
HashSet<Integer> set2 = new HashSet<>();
//将第一个数组元素存入进去
for( int num : nums1 ){
set1.add( num );
}
//遍历比较是否有重复元素,如果有则加入到第二个set
for( int num : nums2 ){
if( set1.contains( num ) ){
set2.add( num );
}
}
//将第二个set的元素加入到数组中
int[] res = new int[ set2.size() ];
int i = 0;
for( Integer re : set2 ){
res[ i++ ] = re;
}
return res;
}
版权声明:本文为weixin_43767015原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。