Java滑动窗口中检测左端移动

今天遇到了一个滑动窗口的题,对于左端的检测与运动总是写不好,看了答案后发现对于一个知识运用得不好。

1             while (zeros > K) {
2                 if (A[left++] == 0){
3                     zeros --;
4                 }
5             }

这个是标准写法,其中if语句中的判断条件里的 A[left++] 这个我写的不对,我的错误示范为:

            while (zeros > K) {
                if (A[left] == 0){
                    left++;
                    zeros --;
                }
            }

我错在了认为判断语句if执行完还会执行底下的 left++,其实判断为false的话就不会执行了,陷入了死循环。正确写法中的A[left++]保证了每次判断完都会更新left的值。

 

 

x
posted @ 2022-07-23 17:19  GiackyWu  阅读(28)  评论(0)    收藏  举报