寻找 n 组数据中的共同元素,求快速算法.
比如有五组数据:
0 1 2 3 4 5 6 7
8 9 10 11 12 3 6 9
3 15 16 17 18 19 6
6 98 97 69 95 3
25 26 3 6 78 98 52 33 22
则他们共同的元素是 3 6
有一个遍历的方法是 依次遍历第一组数据中的每一个元素,并在其他四组数据中查找这个元素是否存在,如果都存在,则这个元素是共同元素,有没有一个更快更好一点的方法,找出 n 级数据中的共同元素.
[解决办法]
在LZ的算法上稍微优化一下,先找第一、第二组的共同元素,把非共同元素都去了,然后用他们的共同元素与第三组匹配,依此类推。因为第一第二组的共同元素必然包含全局的共同元素,这样做可以将需要匹配的数据量减少。