关于计数中断循环的一些错误思考

for(int i=1;i<=N;++i){
        if(某个条件)
            Count++;
        if(Count == K)
            break;
    }

对于这个代码,我们要注意这个是先进行条件判断,再进行计数判断。如果存在刚开始就已经符合K了的话,这种就会少考虑了。

同样,如果是这样

for(int i=1;i<=N;++i){
        if(Count == K)
            break;
        if(某个条件)
            Count++;
    }

把中断条件放到最后的话,也会少考虑一些情况如,最后一此循环 i == N时达成Count++,此时符合Count == K,就没有进行判断了。

对于这种计数中断循环,我们需要在循环前判断一次,或者在循环后判断一次,对于这两种情况。

千万不要忘记啊。。虽然是一个很简单的知识点,但是总是被人遗忘,因为这个点坑好多次了。。。一定要注意。

猜你喜欢

转载自blog.csdn.net/zhao5502169/article/details/81232321