这种方法的时间复杂度和辅助空间是多少?谁能告诉我并解释一下结果?
public Set<T> findRepeatedValues(List<T> list){
Set<T> set = new HashSet<>();
Set<T> repeatedValues = new HashSet<>();
for (T i: list) {
if (!set.add(i)) {
repeatedValues.add(i);
}
}
return repeatedValues;
}
如果我像下面这样测试我的代码会发生什么?
@Test
public void findRepeatedStrings(){
List<String> stringList = new ArrayList<String>(Arrays.asList("ali","mahdi","hadi","mahdi","mojtaba","mohammad","mojtaba"));
RepeatedValues repeatedValues = new RepeatedValues();
Set values = repeatedValues.findRepeatedValues(stringList);
for (Object i :
values) {
System.out.println(i);
}
}
https://stackoverflow.com/questions/54063363
复制相似问题