3212力扣:统计X和Y频数相等的子矩阵数量

cpp 复制代码
class Solution {
public:
    int numberOfSubmatrices(vector<vector<char>>& grid) {
        int n=grid.size();
        int m=grid[0].size();
        vector<vector<int>> prex(n+1,vector<int>(m+1,0));
        vector<vector<int>> prey(n+1,vector<int>(m+1,0));
        for(int i=1;i<n+1;i++){
            for(int j=1;j<m+1;j++){
                if(grid[i-1][j-1]=='X'){
                    prex[i][j]=prex[i-1][j]+prex[i][j-1]-prex[i-1][j-1]+1;}
                else{
                    prex[i][j]=prex[i-1][j]+prex[i][j-1]-prex[i-1][j-1]+0;
                }
                if(grid[i-1][j-1]=='Y'){
                    prey[i][j]=prey[i-1][j]+prey[i][j-1]-prey[i-1][j-1]+1;
                }else{
                    prey[i][j]=prey[i-1][j]+prey[i][j-1]-prey[i-1][j-1]+0;
                }
            }
        }
        int res=0;
        for(int i=1;i<n+1;i++){
            for(int j=1;j<m+1;j++){
                int countx=prex[i][j]-prex[0][j]-prex[i][0]+prex[0][0];
                int county=prey[i][j]-prey[0][j]-prey[i][0]+prey[0][0];
                if(countx==county && countx>0){res++;}
            }
        }
        return res;
    }
};

二维前缀和 前缀和数组定义时扩宽一层

相关推荐
苦藤新鸡7 分钟前
18.矩阵同行同列全置零
数据结构·c++·算法·力扣
副露のmagic8 分钟前
更弱智的算法学习 day48
学习·算法
汽车仪器仪表相关领域12 分钟前
双组分精准快检,汽修年检利器:MEXA-324M汽车尾气测量仪项目实战全解
大数据·人工智能·功能测试·测试工具·算法·机器学习·压力测试
赫凯22 分钟前
【强化学习】第六章 Dyna-Q 算法
算法
程序员-King.22 分钟前
day154—回溯—分割回文串(LeetCode-131)
算法·leetcode·深度优先·回溯
程序员-King.22 分钟前
day155—回溯—组合(LeetCode-77)
算法·leetcode·回溯
DO_Community25 分钟前
技术解码:Character.ai 如何实现大模型实时推理性能 2 倍提升
人工智能·算法·llm·aigc·moe·aiter
leo__52027 分钟前
基于A星算法的MATLAB路径规划实现
人工智能·算法·matlab
程序员-King.36 分钟前
day152—回溯—电话号码的字母组合(LeetCode-17)
算法·leetcode·深度优先·递归
wm104338 分钟前
代码随想录 第六天
数据结构·算法