力扣2356.二维差分模板——子矩阵元素加1

力扣2356.二维差分模板------子矩阵元素加1

  • 模板题

    • 最后将n+2*n+2的矩阵删去周围一圈变成n*n矩阵的操作
cpp 复制代码
  class Solution {
  public:
      vector<vector<int>> rangeAddQueries(int n, vector<vector<int>>& queries) {
          vector<vector<int>> res(n+2,vector<int>(n+2));
          for(auto t : queries)
          {
              int r1=t[0],c1=t[1],r2=t[2]+1,c2=t[3]+1;
              res[r1+1][c1+1] ++; 
              res[r1+1][c2+1] --;
              res[r2+1][c1+1] --;
              res[r2+1][c2+1] ++;
          }
          for(int i=1;i<=n;i++)
              for(int j=1;j<=n;j++)
                  res[i][j] += res[i][j-1] + res[i-1][j] - res[i-1][j-1];
          //删上下两边
          res.pop_back() , res.erase(res.begin());
          //每一行删去头尾
          for(auto &row:res)
              row.pop_back(),row.erase(row.begin());
          return res;
      }
  };
相关推荐
二进制person25 分钟前
Java SE--方法的使用
java·开发语言·算法
OneQ6661 小时前
C++讲解---创建日期类
开发语言·c++·算法
JoJo_Way1 小时前
LeetCode三数之和-js题解
javascript·算法·leetcode
.30-06Springfield1 小时前
人工智能概念之七:集成学习思想(Bagging、Boosting、Stacking)
人工智能·算法·机器学习·集成学习
凌肖战3 小时前
力扣网C语言编程题:在数组中查找目标值位置之二分查找法
c语言·算法·leetcode
weixin_478689764 小时前
十大排序算法汇总
java·算法·排序算法
luofeiju4 小时前
使用LU分解求解线性方程组
线性代数·算法
SKYDROID云卓小助手5 小时前
无人设备遥控器之自动调整编码技术篇
人工智能·嵌入式硬件·算法·自动化·信号处理
ysa0510305 小时前
数论基础知识和模板
数据结构·c++·笔记·算法
GEEK零零七5 小时前
Leetcode 1103. 分糖果 II
数学·算法·leetcode·等差数列