while循环是这样写的,其他的地方都一样
[code=java]
while (queue.size() > 0 && need > 0){
int q = queue.size();
for (int i = 0; i < q; i++) {
int[] pos = queue.get(i);
int x = pos[0];
int y = pos[1];
for (int[] offset : offsets) {
int newX = x + offset[0];
int newY = y + offset[1];
if (newX >= 0 && newX < row && newY >= 0 && newY < col
&& "NO".equals(matrix.get(newX)[newY])){
matrix.get(newX)[newY] = "YES";
queue.add(new int[]{newX, newY});
need--;
}
}
}
day++;
}
[/code]