题目:
给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。
请你统计并返回 grid 中 负数 的数目。
思路分析:
从最从右上角开始,如果是负数,则这个数的这一列下面都是负数,直接全部加上行数即可,然后从右往左遍历
class Solution {
public int countNegatives(int[][] grid) {
int len1=grid.length;
int len2=grid[0].length;
int count=0;
int i=0;
int j=len2-1;
while(i<len1&&j>=0){
if(grid[i][j]<0){
count+=len1-i;
j--;
}else {
i++;
}
}
return count;
}
}