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

浙公网安备 33010602011771号