gpt4 book ai didi

java - 比较java中的两个字符串集并输出二进制(匹配/不)数组

转载 作者:行者123 更新时间:2023-12-02 00:28:53 25 4
gpt4 key购买 nike

我有一个 Java 中的有序列表 A 和一个字符串集 B。我需要比较输出采用二进制数组的形式。例如,如果 A{a,b,c,d,e}B{a,d,e} ,我的输出应该是一个数组[1,0,0,1,1]。如何在不诉诸暴力检查的情况下有效地实现这一点?我正在处理相当多的集合(尺寸也很大)来与 A 进行比较。

最佳答案

这些是什么类型的集合?通常集合没有任何顺序。

感觉本质上我们需要将 B 视为一个集合,而将 A 视为一个列表。例如,您可以使用:

List<String> a = ...;
Set<String> b = ...;

boolean result = new boolean[a.size()];
for (int i = 0; i < result.length; i++) {
result[i] = b.contains(a);
}

只要集合实现是快速的(例如 HashSetLinkedHashSet),这应该是一个 O(n) 操作,其中 n 是 的大小>一个。鉴于您需要产生 n 个结果,很难看出如何才能做得更好......

关于java - 比较java中的两个字符串集并输出二进制(匹配/不)数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9530213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com