多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 在列明智和行明智排序矩阵中计算负数 > 原文: [https://www.geeksforgeeks.org/count-negative-numbers-in-a-column-wise-row-wise-sorted-matrix/](https://www.geeksforgeeks.org/count-negative-numbers-in-a-column-wise-row-wise-sorted-matrix/) 在按列/按行排序的矩阵 M [] []中找到负数的数量。 假设 M 具有 n 行和 m 列。 例: ``` Input: M = [-3, -2, -1, 1] [-2, 2, 3, 4] [4, 5, 7, 8] Output : 4 We have 4 negative numbers in this matrix ``` **我们强烈建议您最小化浏览器,然后自己尝试。** **朴素的解决方案** 这是一个朴素的非最优解决方案。 我们从左上角开始,从左到右,从上到下逐一计数负数。 对于给定的示例: ``` [-3, -2, -1, 1] [-2, 2, 3, 4] [4, 5, 7, 8] Evaluation process [?, ?, ?, 1] [?, 2, 3, 4] [4, 5, 7, 8] ``` 以下是上述想法的实现。 ## C++ ```cpp // CPP implementation of Naive method // to count of negative numbers in // M[n][m] #include <bits/stdc++.h> using namespace std; int countNegative(int M[][4], int n, int m) {     int count = 0;     // Follow the path shown using     // arrows above     for (int i = 0; i < n; i++) {         for (int j = 0; j < m; j++) {             if (M[i][j] < 0)                 count += 1;             // no more negative numbers             // in this row             else                 break;         }     }     return count; } // Driver program to test above functions int main() {     int M[3][4] = { { -3, -2, -1, 1 },                     { -2, 2, 3, 4 },                     { 4, 5, 7, 8 } };     cout << countNegative(M, 3, 4);     return 0; } // This code is contributed by Niteesh Kumar ```