NC313 两个数组的交集
添加链接描述
import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param nums1 int整型ArrayList * @param nums2 int整型ArrayList * @return int整型ArrayList*/public ArrayList<Integer> intersection (ArrayList<Integer> nums1, ArrayList<Integer> nums2) {// write code hereSet<Integer> set = new HashSet<>();for(Integer i : nums1) {if(set.contains(i)) continue;set.add(i);}List<Integer> list = new ArrayList<>();for(Integer i:nums2) {if(list.contains(i)) continue;if(set.contains(i)) list.add(i);}return new ArrayList<>(list);}
}
解法二
import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param nums1 int整型ArrayList * @param nums2 int整型ArrayList * @return int整型ArrayList*/public ArrayList<Integer> intersection (ArrayList<Integer> nums1, ArrayList<Integer> nums2) {// write code hereboolean [] hash = new boolean[1010];for(Integer i : nums1) {hash[i] = true;}List<Integer> list = new ArrayList<>();for(Integer i : nums2) {if(hash[i]){list.add(i);hash[i] = false;} }return new ArrayList<>(list);}
}
因为题目数据范围不大
通过boolean [] hash = new boolean[1010] 模拟hash