Easy solve............🔥🔥🔥🔥
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity: 100%\u2705\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```c []\nint countSquares(int** matrix, int matrixSize, int* matrixColSize) {\n    int m = matrixSize, n = *matrixColSize;\n    int i, j, size, count = 0;\n    for (i = m-2; i >= 0; --i) {\n        for (j = n-2; j >= 0; --j) {\n            if (!matrix[i][j]) continue;\n            size = matrix[i+1][j+1];\n            if (matrix[i+1][j] < size) size = matrix[i+1][j];\n            if (matrix[i][j+1] < size) size = matrix[i][j+1];\n            matrix[i][j] = size + 1;\n        }\n    }\n    for (i = 0; i < m; ++i) \n        for (j = 0; j < n; ++j)\n            count += matrix[i][j];\n    return count;\n}\n```
['Array', 'Dynamic Programming', 'C', 'Matrix']