Loading... > https://leetcode.cn/problems/modify-the-matrix/description/?envType=daily-question&envId=2024-05-02 简单题,遍历每一列然后替换即可。 ```c++ class Solution { public: std::vector<std::vector<int>> modifiedMatrix(std::vector<std::vector<int>>& matrix) { const int m = matrix.size(), n = matrix[0].size(); std::stack<int> lack; for (int j = 0; j < n; j++) { int maxNum = 0; for (int i = 0; i < m; i++) { if (matrix[i][j] == -1) { lack.push(i); continue; } maxNum = std::max(maxNum, matrix[i][j]); } while (!lack.empty()) { matrix[lack.top()][j] = maxNum; lack.pop(); } } return matrix; } }; ``` - 时间复杂度:$O(m \times n)$ ,其中 $m, n$ 为 `matrix` 的行列数。 - 空间复杂度:$O(C)$ ,其中 $C$ 为每列中 $-1$ 的最大个数。 最后修改:2024 年 07 月 05 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏