zoukankan      html  css  js  c++  java
  • 1351. Count Negative Numbers in a Sorted Matrix

    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: 8
    Explanation: 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
    class Solution {
        public int countNegatives(int[][] grid) {
            int res = 0;
            for(int i = 0; i < grid.length; i++){
                for(int j = 0; j < grid[0].length; j++){
                    if(grid[i][j] < 0) res++;
                }
            }
            return res;
        }
    }

    我没看错吧?brute force还66.9%

    class Solution {
        public int countNegatives(int[][] grid) {
            int res = 0;
            int m = grid.length;
            int n = grid[0].length;
            int i = 0;
            int j = n - 1;
            while(i < m && j >= 0){
                if(grid[i][j] < 0){
                    res += m - i;
                    j--;
                }
                else i++;
            }
            return res;
        }
    }

    O(M + N),从右上角开始扫到左下角

  • 相关阅读:
    springmvc+mybatis多数据源切换
    Tomcat 8.5 配置自动从http跳转https
    Tomcat 8.5 配置 域名绑定
    本地测试Tomcat配置Https访问
    Spring boot
    解决IDEA16闪退的问题
    cef
    spring-boot学习资料
    oracle 表空间不足解决办法
    oracle导出表的办法
  • 原文地址:https://www.cnblogs.com/wentiliangkaihua/p/12325484.html
Copyright © 2011-2022 走看看