1351. 统计有序矩阵中的负数

    科技2022-08-09  94

    暴力解法

    class Solution { public: int countNegatives(vector<vector<int>>& grid) { int row = grid.size(),col = grid[0].size(),res = 0; for(int i = 0;i<row;i++) { for(int j= 0;j<col;j++) { if(grid[i][j]<0) res ++; } } return res; } };

    二分算法

    class Solution { public: int countNegatives(vector<vector<int>>& grid) { int left; int right; int mid; int count=0; for(int i=0;i<grid.size();i++) { left = 0; right = grid[0].size()-1; while(left <= right) { mid = (left+right)/2; if(grid[i][mid]<0) { right = mid-1; } else { left = mid+1; } } count+=(grid[0].size()-left); } return count; } };

     

    Processed: 0.018, SQL: 8