**结案。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
4个月前关门了。
改进这个问题
我试图迭代一个整数哈希集,以找到前两个最大的元素。我的第二大元素位于hashset的末尾,我刚刚发现foreach循环正在跳过最后一个元素。为什么会这样?
for(int n:set)
{
if(n>max1)
max1=n;
else if(n==max1)
max2=n;
else if(n>max2)
max2=n;
}
1条答案
按热度按时间piv4azn71#
问题不在于循环,而是您没有正确地更新这两个循环
max1
以及max2
在每次迭代中:请注意,因为它是一个集合,并且值是唯一的,所以在
n
等于max1
或者max2
.