找到两个整型数组中相同的整数

①使用一个HashSet保存第一个数组中的所有元素,然后遍历第二个数组中的每个元素,判断该元素是否在HashSet中。如果在,就表明这个元素是公共元素。

此方法的时间复杂度为O(M+N),空间复杂度为O(M)[假设第一个数组长度为M,保存在HashSet中]。

②首先对两个数组进行排序。然后分别设置两个指针 i, j 初始时,分别指向两个数组的第一个元素,依次比较这两个指针指向的元素,指向较小的元素的那个指针向后移一位。如果,两个元素相同,则两个指针同时向后移一位。

此方法,首先需要对数组排序,时间复杂度为O(MlogM + NlogN),空间复杂度为O(1)—不考虑排序算法的空间复杂度。

你可能感兴趣的:(面试)