leetcode(리트코드)5월12일 challenge304-Range Sum Query 2D Immutable
leetcode(리트코드)5월12일 challenge304-Range Sum Query 2D Immutable
leetcode May 12일 - Range Sun Query 2D Immutable 문제입니다.
1. 문제
https://leetcode.com/problems/range-sum-query-2d-immutable/
2. Input , Output
3. 분류 및 난이도
Medium 난이도입니다.
5월 12일자 챌린지 문제입니다.
4. 문제 해석
- 주어진 matrix에서 row1 ~ row2, col1 ~ col2 까지의 합을 구하는 것입니다.
- brute하게 풀면 시간초과가 떠서 다른 방법으로 풀어야합니다.
- Discuss에서 잘 정리된 설명이 있습니다.
5. code
c++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class NumMatrix {
public:
int row,col;
vector<vector<int>> sums;
NumMatrix(vector<vector<int>>& matrix) {
row = matrix.size();
col = matrix[0].size();
sums = vector<vector<int>>(row+1,vector<int>(col+1,0));
for(int i =1 ; i <=row;++i){
for(int j =1 ; j<=col;++j){
sums[i][j] = matrix[i-1][j-1] + sums[i-1][j] + sums[i][j-1] - sums[i-1][j-1];
}
}
}
int sumRegion(int row1, int col1, int row2, int col2) {
return sums[row2+1][col2+1] - sums[row2+1][col1] - sums[row1][col2+1] + sums[row1][col1];
}
};
/**
* Your NumMatrix object will be instantiated and called as such:
* NumMatrix* obj = new NumMatrix(matrix);
* int param_1 = obj->sumRegion(row1,col1,row2,col2);
*/
6. 결과 및 후기, 개선점
나중에 다시 풀 것.
This post is licensed under CC BY 4.0 by the author.