C程序 查找两个数组之间的共同数组元素
这里我们将建立一个C程序来寻找两个数组之间的共同元素。给定两个数组,我们必须用以下两种方法找到它们的共同元素。
1.使用蛮力
2.使用合并排序,然后进行遍历
输入:
输出:
方法1:
这是一种强硬的方法,简单地在第一个数组中遍历,对于第一个数组中的每一个元素,在第二个数组中遍历,找出它是否存在,如果是,则在结果数组中检查它(以避免重复),之后,如果我们发现这个元素不存在于结果数组中,则打印它并将其存储在结果数组中。
输出
时间复杂度。O(mnk)
Auxiliary Space: O(max(m,n)),因为在最坏的情况下,所有的元素都可能是不同的和共同的。
方法2:
这个逻辑可以应用于已排序的数组,如果没有给出已排序的数组,则使用合并排序,因为其时间复杂度较低,然后应用这种方法。
1.在一个数组中使用两个变量进行遍历,i代表数组1,j代表数组2。
2.如果数组1的元素小于数组2的元素,则检查i++。
3.检查数组2的元素是否小于数组1的元素,然后j++。
4.检查数组1的元素是否等于数组2的元素,然后检查它是否在之前被打印出来,如果没有,则打印出来并存储在结果数组中。
输出
时间复杂度。_ O((m+n)*k)
Auxiliary Space: O(max(m,n)),因为在最坏的情况下,所有的元素都可能是不同的和共同的。