add: 230301-CN
This commit is contained in:
parent
d14b269d11
commit
57976e72fb
|
|
@ -0,0 +1,28 @@
|
|||
#include <vector>
|
||||
|
||||
/**
|
||||
* 2373. Largest Local Values in a Matrix
|
||||
*
|
||||
* You are given an n x n integer matrix grid.
|
||||
*
|
||||
* Generate an integer matrix maxLocal of size (n - 2) x (n - 2) such that:
|
||||
*
|
||||
* maxLocal[i][j] is equal to the largest value of the 3 x 3 matrix in grid centered around row i + 1 and column j + 1.
|
||||
* In other words, we want to find the largest value in every contiguous 3 x 3 matrix in grid.
|
||||
*
|
||||
* Return the generated matrix.
|
||||
*/
|
||||
|
||||
class Solution {
|
||||
public:
|
||||
static std::vector<std::vector<int>> largestLocal(const std::vector<std::vector<int>>& grid) {
|
||||
const int n = grid.size(), t = n - 2;
|
||||
auto ret = std::vector<std::vector<int>>(t, std::vector<int>(t));
|
||||
for (int i = 0; i < t; ++i)
|
||||
for (int j = 0; j < t; ++j)
|
||||
for (int k = 0; k < 3; ++k)
|
||||
for (int l = 0; l < 3; ++l)
|
||||
ret[i][j] = std::max(ret[i][j], grid[i + k][j + l]);
|
||||
return ret;
|
||||
}
|
||||
};
|
||||
|
|
@ -3,4 +3,4 @@ PROJECT(2303)
|
|||
|
||||
SET(CMAKE_CXX_STANDARD 23)
|
||||
|
||||
ADD_EXECUTABLE(2303 230301.cpp)
|
||||
ADD_EXECUTABLE(2303 230301-CN.cpp)
|
||||
|
|
|
|||
Loading…
Reference in New Issue