力扣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;
      }
  };
相关推荐
嘉陵妹妹41 分钟前
深度优先算法学习
学习·算法·深度优先
GalaxyPokemon1 小时前
LeetCode - 53. 最大子数组和
算法·leetcode·职场和发展
hn小菜鸡2 小时前
LeetCode 1356.根据数字二进制下1的数目排序
数据结构·算法·leetcode
zhuiQiuMX2 小时前
分享今天做的力扣SQL题
sql·算法·leetcode
music&movie3 小时前
算法工程师认知水平要求总结
人工智能·算法
laocui14 小时前
Σ∆ 数字滤波
人工智能·算法
yzx9910134 小时前
Linux 系统中的算法技巧与性能优化
linux·算法·性能优化
全栈凯哥5 小时前
Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解
java·算法·leetcode·链表
全栈凯哥5 小时前
Java详解LeetCode 热题 100(27):LeetCode 21. 合并两个有序链表(Merge Two Sorted Lists)详解
java·算法·leetcode·链表
SuperCandyXu5 小时前
leetcode2368. 受限条件下可到达节点的数目-medium
数据结构·c++·算法·leetcode