两组1000个元素的数组对比,怎样得到数组里面相同元素的个数?

1)若两组1000个元素的数组对比,怎样得到数组里面相同元素的个数?
2)一组1000个元素的数组A重新排列后有1000!种可能,讲这些1000!种可能的数组分别与另一组数组B对比,怎样得到相同元素最多的数组?

https://blog.csdn.net/qq_43103581/article/details/85258714

用HashMap吧,先遍历第一个数组把里面的元素存进HashMap里,再遍历第二个数组和HashMap比较一下
或者两个数组合并,再用HashMap

可能还有更好的方法..

1.双重循环

时间复杂度 n2

2.两个数组排序后再提取相同的元素

时间复杂度 nlogn

3.使用HashMap

时间复杂度 n

需要额外空间 n

方法一:不知道你用的是什么语言,我知道Java里面可以直接把数组放在两个set中,set可以直接取交集。
方法二:如果每个数组里面元素不重复的话,可以以元素或者元素中的某个唯一标识作为key,放在map中,一次性拿出第一个map的key,然后遍历第二个map,如果第二个map中存在某个key,则将这个key拿出来。
方法三:遍历第一个数组,在循环中再遍历第二个数组,判断元素是否相等。

在Python中
1、先遍历两组有多少不同元素;
2、在进行onehot编码和相减,如果数组的绝对值为了0,表明两个元素相等,通过索引得到原有数据