网站秒收录工具,苏州创元投资集团网站,wordpress登陆菜单,域名卖给别人有风险吗给定两个数组 nums1 和 nums2 #xff0c;返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。
思路#xff1a;
先遍历nums1将其元素不重复地添加到哈希表a中#xff1b;建立哈希表dup用于存储b和a重复的元素#xff1b;遍历nums2…给定两个数组 nums1 和 nums2 返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。
思路
先遍历nums1将其元素不重复地添加到哈希表a中建立哈希表dup用于存储b和a重复的元素遍历nums2若元素存在于nums1中并且还未被记录到dup那么添加到dup中建立与dup等长的数组遍历dup将其元素依次添加到数组中并返回。
解答
class Solution {public int[] intersection(int[] nums1, int[] nums2) {HashSetInteger a new HashSet();HashSetInteger dup new HashSet();for(int i 0; inums1.length; i)if(!a.contains(nums1[i]))a.add(nums1[i]);for(int i 0; inums2.length; i)if(a.contains(nums2[i]) !dup.contains(nums2[i])) //如果元素在nums1中且没被加入dup中dup.add(nums2[i]);int[] res new int[dup.size()];int i 0;for(int item: dup){res[i] item;i;}return res;}
}