Участник:PinkHedgehog/NOSTSTT

Материал из DISCOPAL
< Участник:PinkHedgehog
Версия от 01:04, 27 мая 2020; PinkHedgehog (обсуждение | вклад) (Новая страница: «https://leetcode.com/problems/number-of-submatrices-that-sum-to-target/ <code-cpp> class Solution { public: int numSubmatrixSumTarget(vector<vector<int>>& mat…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

https://leetcode.com/problems/number-of-submatrices-that-sum-to-target/

class Solution {
public:
    int numSubmatrixSumTarget(vector<vector<int>>& matrix, int target) {
        int count = 0;
        unordered_map<int,int> accSumHash;
        for (int rowStart = 0; rowStart < matrix.size(); rowStart++)
        {
            vector<int> accSumVec(matrix[0].size(), 0);
            for (int row = rowStart; row < matrix.size(); row++)
            {
                accSumHash.clear();
                accSumHash[0] = 1;
                int accSum = 0;
                for (int col = 0; col < matrix[0].size(); col++)
                {
                    accSum += matrix[row][col];
                    accSumVec[col] += accSum;
 
                    count += accSumHash[accSumVec[col] - target];
                    accSumHash[accSumVec[col]]++;
                }
            }
        }
 
        return count;
    }
};