力扣1878.矩阵中最大的三个菱形和

力扣1878.矩阵中最大的三个菱形和

  • 斜前缀和

    • 遍历矩阵元素,同时求当前点左下右下两位置的前缀和
    • 枚举每个菱形中心,遍历边长
  •   int sum1[101][101];
      int sum2[101][101];
      class Solution {
      public:
          vector<int> getBiggestThree(vector<vector<int>>& grid) {
              int n = grid.size() , m = grid[0].size();
      
              for(int i=1;i<=n;i++)
                  for(int j=1;j<=m;j++)
                  {
                      sum1[i][j] = sum1[i-1][j-1] + grid[i-1][j-1];
                      sum2[i][j] = sum2[i-1][j+1] + grid[i-1][j-1];
                  }
      
              set<int> S;
              for(int i=1;i<=n;i++)
                  for(int j=1;j<=m;j++)
                  {
                      S.insert(grid[i-1][j-1]);
                      for(int k=1;i + k <= n && i - k >= 1 && j + k <= m && j - k >= 1;k++)
                      {
                          int a = sum1[i+k][j] - sum1[i][j-k];
                          int b = sum1[i][j+k] - sum1[i-k][j];
                          int c = sum2[i + k][j] - sum2[i][j + k];
                          int d = sum2[i][j - k] - sum2[i - k][j];
                          S.insert(a+b+c+d - grid[i+k-1][j-1] + grid[i-k-1][j-1]);
                      }
                      while(S.size() > 3) S.erase(S.begin());
                  }
              return vector<int> (S.rbegin(),S.rend());
          }
      };
    

相关推荐

  1. 1878.矩阵菱形

    2024-07-09 20:16:07       28 阅读
  2. 3148.矩阵得分

    2024-07-09 20:16:07       16 阅读
  3. 2024.3.16每日一题——矩阵移动次数

    2024-07-09 20:16:07       40 阅读
  4. 215. 数组第K元素

    2024-07-09 20:16:07       61 阅读
  5. 1838.高频元素频数

    2024-07-09 20:16:07       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 20:16:07       49 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 20:16:07       53 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 20:16:07       42 阅读
  4. Python语言-面向对象

    2024-07-09 20:16:07       53 阅读

热门阅读

  1. 持续学习的艺术:SKlearn中模型的在线学习实践

    2024-07-09 20:16:07       25 阅读
  2. 代码随想录刷题day02-矩阵

    2024-07-09 20:16:07       26 阅读
  3. ListView

    ListView

    2024-07-09 20:16:07      26 阅读
  4. SSL 证书

    2024-07-09 20:16:07       24 阅读
  5. HP打印机Er报错 (重新开始或恢复按钮 ↓)

    2024-07-09 20:16:07       17 阅读
  6. php简单实现利用飞书群里机器人推送消息的方法

    2024-07-09 20:16:07       21 阅读
  7. 终于弄明白了什么是EI!

    2024-07-09 20:16:07       19 阅读
  8. 期货量化交易:探索金融投资的新领域

    2024-07-09 20:16:07       25 阅读
  9. 探索金融数据API:现代投资的关键工具

    2024-07-09 20:16:07       23 阅读
  10. uniApp 封装VUEX

    2024-07-09 20:16:07       18 阅读