leetcode Intersection of Two Arrays

leetcode Intersection of Two Arrays

解题思路:创建两个Set 存储数组中的元素,去除重复,遍历第一个set ,如果第二个set包含该元素,存储在第三个set中,把set中的元素存储在新的数组中。

public static void main(String[] args) {
		int[] num3={1,2,1,2};
		int[] num4={2,2};
		int[] intersection = intersection(num3, num4);
		System.out.println(Arrays.toString(intersection));


	}
	public static int[] intersection(int[] nums1, int[] nums2) {
		Set<Integer> set1 = changeArrayToSet(nums1);
		Set<Integer> set2 = changeArrayToSet(nums2);
		Set<Integer> set3=new HashSet<>();
		for (Integer integer : set1) {
			if(set2.contains(integer)){
				set3.add(integer);
			}
		}
		int i=0;
		int[] arr=new int[set3.size()];
		for (Integer integer : set3) {
			arr[i]=integer;
			i++;
		}
		return arr;
	}
	public static Set<Integer> changeArrayToSet(int[] nums1){
		Set<Integer> set=new HashSet<>();
		for (int num: nums1) {
			set.add(num);
		}
		return set;
	}

猜你喜欢

转载自blog.csdn.net/u011243684/article/details/84983372