力扣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;
      }
  };
相关推荐
王老师青少年编程11 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【哈夫曼贪心】:合并果子
c++·算法·贪心·csp·信奥赛·哈夫曼贪心·合并果子
叼烟扛炮11 小时前
C++第二讲:类和对象(上)
数据结构·c++·算法·类和对象·struct·实例化
天疆说12 小时前
【哈密顿力学】深入解读航天器交会最优控制中的Hamilton函数
人工智能·算法·机器学习
wuweijianlove12 小时前
关于算法设计中的代价函数优化与约束求解的技术7
算法
leoufung13 小时前
LeetCode 149: Max Points on a Line - 解题思路详解
算法·leetcode·职场和发展
样例过了就是过了13 小时前
LeetCode热题100 最长公共子序列
c++·算法·leetcode·动态规划
HXDGCL13 小时前
矩形环形导轨:自动化循环线的核心运动单元解析
运维·算法·自动化
谭欣辰13 小时前
C++ 排列组合完整指南
开发语言·c++·算法
代码中介商13 小时前
银行管理系统的业务血肉 —— 流程、状态机、输入校验与持久化(下篇)
c语言·算法
foundbug99914 小时前
自适应滤除直达波干扰的MATLAB实现
开发语言·算法·matlab