我一直在HackerRank进行一些实践测试,并决定只使用流来解决它(这是个人的挑战)。我做的。该程序总体上有效。但是,当涉及到[[大量数据]时,程序需要花费[[long的时间来完成。因此,最终由于“由于超时而终止:(”),我没有解决测试。我完全同意。当我在自己的PC上运行该程序时,不仅花了很长时间,而且工作期间CPU温度暴涨...
这是我创建的代码: OptionalInt maxDuplicate, result;
Set<Integer> duplicates;
List<Integer> duplicatesCount;
duplicatesCount = arr.stream()
.map(x -> Collections.frequency(arr, x))
.collect(Collectors.toList());
maxDuplicate = duplicatesCount.stream().mapToInt(Integer::intValue).max();
duplicates = arr.stream()
.filter(x -> Collections.frequency(arr, x) == maxDuplicate.getAsInt())
.collect(Collectors.toSet());
result = duplicates.stream().mapToInt(Integer::intValue).min();
return result.getAsInt();
有人可以向我解释吗?通常,流是否会对CPU造成很大压力?还是仅仅是这个程序?
PS。我上面提到的数据(该程序无法处理的数据)的73966位数字是1到5。我一直在HackerRank进行一些实践测试,并决定只使用流来解决它(这是个人的挑战)。我做的。该程序总体上有效。但是,当涉及到...