力扣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;
      }
  };
相关推荐
灵感__idea7 小时前
Hello 算法:贪心的世界
前端·javascript·算法
澈2078 小时前
深入浅出C++滑动窗口算法:原理、实现与实战应用详解
数据结构·c++·算法
ambition202429 小时前
从暴力搜索到理论最优:一道任务调度问题的完整算法演进历程
c语言·数据结构·c++·算法·贪心算法·深度优先
cmpxr_9 小时前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法
qiqsevenqiqiqiqi9 小时前
前缀和差分
算法·图论
代码旅人ing9 小时前
链表算法刷题指南
数据结构·算法·链表
Yungoal9 小时前
常见 时间复杂度计算
c++·算法
6Hzlia9 小时前
【Hot 100 刷题计划】 LeetCode 48. 旋转图像 | C++ 矩阵变换题解
c++·leetcode·矩阵
不爱吃炸鸡柳10 小时前
单链表专题(完整代码版)
数据结构·算法·链表
CylMK10 小时前
题解:AT_abc382_d [ABC382D] Keep Distance
算法