class Solution {
public int countNegatives(int[][] grid) {
if(grid.length == 0 || grid[0].length == 0) return 0;
int count = 0;
// 从右上角开始遍历,如果当前值≥0,由于是非递增,那么前面的都是非负
// 如果当前的<0,那么剩下的就都是负数了,直接开始下一列
for(int i = 0, j = grid[0].length - 1; i < grid.length && j >= 0; ){
if(grid[i][j] >= 0){
i++;
}else{
count += grid.length - i;
j--;
}
}
return count;
}
}