add: 230301-CN

This commit is contained in:
Eatswap 2023-03-02 01:05:02 +08:00
parent d14b269d11
commit 57976e72fb
Signed by: Eatswap
GPG Key ID: BE661106A1F3FA0B
2 changed files with 29 additions and 1 deletions

28
cpp/2303/230301-CN.cpp Normal file
View File

@ -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;
}
};

View File

@ -3,4 +3,4 @@ PROJECT(2303)
SET(CMAKE_CXX_STANDARD 23) SET(CMAKE_CXX_STANDARD 23)
ADD_EXECUTABLE(2303 230301.cpp) ADD_EXECUTABLE(2303 230301-CN.cpp)