字符串或向量交集算法

发布于 2021-11-25 01:26:47 字数 540 浏览 818 评论 10

有没有一个高效率的算法,可以求有序字符串或向量之间的交集。

例如(逗号隔开的数据,每个数据长度可能不一):

有序数据一:A,B,C,D,E,F

有序数据二:BC,B,C,D,E,F

有序数据三:A,B,DE,D,E,F

要得到交集是,x,x,x,D,E,F  

目前的解决方式是:
1、split每个数据成数组
2、equals每个数组中相同位置的数据,得到是否一致

可以转换成集合或其他数据结构

求解更快的?


补充一下:

其实就是相当于数组

String[] s1={a,b,c}

String[] s2={c,b,c}

String[] s3={c,a,c}

需要算出三个数组的交集是{x,x,c},只有最后一个c是相同的



如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(10

泛滥成性 2021-11-28 04:11:27

建议看一下这链接:http://hi.baidu.com/gropefor/item/ce4e4320e69d94152b0f1cbc 百度空间:求交集与并集的线性算法!

月亮是我掰弯的 2021-11-28 04:11:11

你说的就是equals的方式吧

北笙凉宸 2021-11-28 04:09:52

既然是对位,按长度排序,前两组挨个比,如果有对上的,生成有位置标记的数据x,x与第三组对照,如果有对上的,生成新x,如此循环到底

孤檠 2021-11-28 04:08:14

contains 不对的,是有顺序的,需要对位比较

最偏执的依靠 2021-11-28 04:07:06

回复
什么是交集?为什么要对位?

情场扛把子 2021-11-28 04:04:06

回复
嗯,这个要求是这样,相当于数组

凡尘雨 2021-11-28 02:58:54

选少数据的一个串,split出来,然后contains其他串。

陌上芳菲 2021-11-28 02:21:04

俺放假了。耶!

归属感 2021-11-28 01:55:35

回复
愕,我也要

泛泛之交 2021-11-26 03:48:25

@红薯 除了equals有好的方式吗

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文