1351. 统计有序矩阵中的负数
给你一个 m * n
的矩阵 grid
,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。
请你统计并返回 grid
中 负数 的数目。
解法一:暴力求解
思路:因为矩阵非递增,所有我们只要在查找到负数时,用矩阵的列数n减去当前查找到的负数所在的列数j,并跳出此次列循环
class Solution:
def countNegatives(self, grid: List[List[int]]) -> int:
neg = 0
m = len(grid)
n = len(grid[0])
for i in range (0,m):
for j in range (0,n):
if grid[i][j] < 0:
neg = neg + (n-j)
break
return neg
解法二:用numpy
思路:调用numpy库函数
class Solution:
def countNegatives(self, grid: List[List[int]]) -> int:
import numpy as np
grid = np.array(grid)
return int(np.sum(grid < 0))