Leetcode194: Range Sum Query 2D - Immutable
来源:互联网 发布:js json数组 添加 编辑:程序博客网 时间:2024/05/16 17:22
Given a 2D matrix matrix, find the sum of the elements inside the rectangle defined by its upper left corner (row1, col1) and lower right corner (row2, col2).
The above rectangle (with the red border) is defined by (row1, col1) = (2, 1) and (row2, col2) = (4, 3), which contains sum = 8.
Example:
Given matrix = [ [3, 0, 1, 4, 2], [5, 6, 3, 2, 1], [1, 2, 0, 1, 5], [4, 1, 0, 1, 7], [1, 0, 3, 0, 5]]sumRegion(2, 1, 4, 3) -> 8sumRegion(1, 1, 2, 2) -> 11sumRegion(1, 2, 2, 4) -> 12
Note:
- You may assume that the matrix does not change.
- There are many calls to sumRegion function.
- You may assume that row1 ≤ row2 and col1 ≤ col2.
class NumMatrix {private: int **sum;public: NumMatrix(vector<vector<int>> &matrix) { int m = matrix.size(); if(m == 0) return; int n = matrix[0].size(); if(n == 0) return; sum = new int*[m+1]; for(int i = 0; i < m+1; i++) { sum[i] = new int[n+1]; sum[i][0] = 0; } for(int i = 0; i < n+1; i++) { sum[0][i] = 0; } for(int i = 1; i < m+1; i++) { for(int j = 1; j < n+1; j++) { sum[i][j] = sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+matrix[i-1][j-1]; } } } int sumRegion(int row1, int col1, int row2, int col2) { return sum[row2+1][col2+1] + sum[row1][col1] - sum[row1][col2+1] - sum[row2+1][col1]; }};// Your NumMatrix object will be instantiated and called as such:// NumMatrix numMatrix(matrix);// numMatrix.sumRegion(0, 1, 2, 3);// numMatrix.sumRegion(1, 2, 3, 4);
0 0
- Leetcode194: Range Sum Query 2D - Immutable
- Range Sum Query 2D - Immutable
- Range Sum Query 2D - Immutable
- [Leetcode]Range Sum Query 2D - Immutable
- Range Sum Query 2D - Immutable
- Leetcode Range Sum Query 2D - Immutable
- LeetCode Range Sum Query 2D - Immutable
- [Leetcode]Range Sum Query 2D - Immutable
- Leetcode Range Sum Query 2D - Immutable
- Leetcode: Range Sum Query 2D - Immutable
- Range Sum Query 2D - Immutable
- Leetcode: Range Sum Query 2D - Immutable
- LeetCode304. Range Sum Query 2D - Immutable
- 304. Range Sum Query 2D - Immutable
- leetcode:Range Sum Query 2D - Immutable
- 304. Range Sum Query 2D - Immutable
- LeetCode|Range Sum Query 2D - Immutable
- 304. Range Sum Query 2D - Immutable
- msyql 批量 更新 与 批量 更新多条记录不同的值
- 第十六周项目1-验证算法插入排序之希尔排序
- 第四周-项目五猴子选大王
- 第十六周项目1—交换排序之冒泡排序
- 第十六周 项目1 验证算法 基数排序
- Leetcode194: Range Sum Query 2D - Immutable
- Java基础编程之统计字符个数
- 在 Spring 3.1 中使用 @Cacheable 实现缓存
- HDU 1171 —— Big Event in HDU 01背包入门
- tomcat配置文件server.xml详解
- 第14周项目4(6)最短路径
- MySQL数据库中的大小写敏感性
- Android开源项目第一篇——个性化控件(View)篇
- 第16周项目2——大数据集上排序算法性能的体验