gpt4 book ai didi

java - 在 codeFights 任务中填充 HashSet

转载 作者:行者123 更新时间:2023-11-29 04:22:20 24 4
gpt4 key购买 nike

我日常任务的目标是计算给定数组 (int [] a) 中表示了多少组整数(从 1 到 10000、10001 到 20000 等,直到 1000000)(例如,a[ 0] =2,所以属于第1组)。

我对此的看法是:

static int countingGroups(int[] a) 
{
Set<Integer> setOfGroupsExposed = new HashSet<>();
// Creating set for counting groups

List<Integer>list = IntStream.iterate(1,i->i+(1*10000)).limit(101).boxed()
.collect(Collectors.toList());
// list.forEach(System.out::println);

int res = setOfGroupsExposed.size();

for (int i = 0; i <a.length ; i++) {
for (int j = 0; j <list.size() ; j++) {
if(a[i]>=list.get(j)&& a[i]<list.get(j++))
setOfGroupsExposed.add(j);
// System.out.println(setOfGroupsExposed); - prints just empty brackets


}
}

return res;
}

我不明白我的循环有什么问题,为什么 Set 总是空的。

最佳答案

你应该改变

if (a[i]>=list.get(j)&& a[i]<list.get(j++))

if (a[i]>=list.get(j)&& a[i]<list.get(j+1))

否则你递增j每次迭代两次,此外,j++返回 j 的原始值,因此您的条件与 if (a[i]>=list.get(j)&& a[i]<list.get(j)) 具有相同的效果.

关于java - 在 codeFights 任务中填充 HashSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48320275/

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