# [LeetCode]#1351. Count Negative Numbers in a Sorted Matrix

Environment: Python 3.7

Key technique: for

Given a `m * n` matrix `grid` which is sorted in non-increasing order both row-wise and column-wise.

Return the number of negative numbers in `grid`.

Example 1:

`Input: grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]Output: 8Explanation: There are 8 negatives number in the matrix.`

Example 2:

`Input: grid = [[3,2],[1,0]]Output: 0`

Example 3:

`Input: grid = [[1,-1],[-1,-1]]Output: 3`

Example 4:

`Input: grid = [[-1]]Output: 1`

Constraints:

• `m == grid.length`
• `n == grid[i].length`
• `1 <= m, n <= 100`
• `-100 <= grid[i][j] <= 100`

Analysis:

1. Use two for loop get value .
2. If i <0, count=count+1
3. return count

Solution:

`class Solution:    def countNegatives(self, grid):        count=0        for i in grid:            for j in i:                if j<0:                    count+=1        return count`

Better Solution:

`class Solution:    def countNegatives(self, grid):        i = [item for row in grid for item in row]        return len([j for j in i if j<0])`

Submitted result:

Reference:

https://leetcode.com/problems/count-negative-numbers-in-a-sorted-matrix/discuss/587853/Python-100-space-complexity

https://leetcode.com/problems/count-negative-numbers-in-a-sorted-matrix/discuss/584829/Python-2-lines

Interesting in any computer science.