1,问题简述
给定两个数组,编写一个函数来计算它们的交集。
2,示例
示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2: 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[9,4] 说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。3,题解思路
hashSet和集合方法的使用
4,题解程序
import java.util.*; public class InterpTest2 { public static void main(String[] args) { int[] nums1 = {1, 2, 2, 1}; int[] nums2 = {2, 2}; int[] interp = interp(nums1, nums2); for (int num : interp ) { System.out.print(num + "\t"); } } public static int[] interp(int[] nums1, int[] nums2) { if (nums1 == null || nums1.length == 0 || nums2 == null || nums2.length == 0) { return new int[0]; } Set<Integer> set = new HashSet<>(nums1.length); for (int num : nums1 ) { set.add(num); } Set<Integer> set2 = new HashSet<>(nums2.length); for (int num : nums2 ) { set2.add(num); } set.retainAll(set2); int[] result = new int[set.size()]; Iterator<Integer> iterator = set.iterator(); int index = 0; while (iterator.hasNext()) { result[index++] = iterator.next(); } return result; } }5,题解程序图片版
6,总结
看到这题了,有点自己的想法,其实我们的开发中大部分就是查找类用的最多,比如说查询数据,然后返回,另外一个程序继续查找,这样就会呈现在用户的面前,这就是所谓的CRUD吧,也是被人茶余饭后谈资的一部分