1
您可以让我知道最快和最有效的方法来比较一大组值。它就像有一个父代码列表(字符串),每个代码都有一系列的子值(字符串)。儿童名单必须相互比较,找出重复并计算重复次数。最快速的方法来比较一堆数组或值列表
code1(code1_value1, code1_value2, code3_value3, ..., code1_valueN);
code2(code2_value1, code1_value2, code2_value3, ..., code2_valueN);
code3(code2_value1, code3_value2, code3_value3, ..., code3_valueN);
.
.
.
codeN(codeN_value1, codeN_value2, codeN_value3, ..., codeN_valueN);
该列表是巨大的说,就像有100个父代码,每个代码有大约250个值。代码列表中不会有重复。在java中执行它,我可以找出解决方案。
- 将第一组代码的值存储为
codeMap.put(codeValue, duplicateCount)
。计数初始化为0. - 然后将其余值与此进行比较。如果它在地图上,然后增加计数,否则将其附加到地图上。
这个失败是为了得到重复。另一个迭代需要在非常大的列表上执行。
另一种方法是维护另一个散列图,以复制像duplicateCodeMap.put(codeValue, duplicateCount)
这样的副本,并将初始散列图更改为codeMap.put(codeValue, codeValue)
。
速度是什么要求。希望你们其中一位能帮助我。