1)
i = 0;
while(i < N){
j = i+1;
while(j < N && p[i].first == p[j].first && p[j].second - p[i].second < K) j++;
i = j; res++;
}
2)
for(i=0;i<N;i++){
j = i+1;
while(j < N && p[i].first == p[j].first && p[j].second - p[i].second < K) j++;
i = j; res++;
}
第一个代码和第二个代码的不同之处仅在于 1) 中的 while 循环和 2) 中的 for 循环。但是根据我的说法,由于它们的输出应该是相同的,但它是不同的。以上两个代码都只是总代码的一部分。但我应该告诉你,由于 1) 的输出是 2,而由于 2) 是 3。
我不知道为什么答案不同,因为发生的一切都是一样的。