Java解决统计有序矩阵中的负数问题

Java解决统计有序矩阵中的负数问题

01 题目

给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。 请你统计并返回 grid负数 的数目。

示例 1:

输入:grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]
输出:8
解释:矩阵中共有 8 个负数。

示例 2:

输入:grid = [[3,2],[1,0]]
输出:0

提示:

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

02 知识点

  • 二维数组
  • 二分查找

03 我的题解

public class erfen09 {

	public static void main(String[] args) {
		int[][] grid= {
				{4,3,2,-1},
				{3,2,1,-1},
				{1,1,-1,-2},
				{-1,-1,-2,-3},
		};
		System.out.println(countNegatives(grid));
		
	}
	public static int countNegatives(int[][] grid) {
		int count=0;
		for (int i = 0; i < grid.length; i++) {
			for (int j = 0; j < grid[0].length; j++) {
				if (grid[i][j]<0) {
					count++;
				}
			}
		}
		return count;
	}	
}

你可能感兴趣的:(蓝桥杯,java,矩阵,算法)