Link: https://leetcode.com/problems/number-of-black-blocks/description/ ## 思路 思路参考[这里](https://leetcode.com/problems/number-of-black-blocks/solutions/3739225/picture-explanation-intution-explained-map/) ```counts[(i, j)]```表示以```(i, j```)为top left corner的block有多少个black cells 对于每个black cell来讲它能影响到的blocks 他们的top left corner分别是```(i-1, j)```, ```(i, j)```, ```(i-1, j-1)```, ```(i, j-1)``` ## Code ```python= class Solution: def countBlackBlocks(self, r: int, c: int, coordinates: List[List[int]]) -> List[int]: counts = collections.defaultdict(int) for x, y in coordinates: for i in range(max(0, x-1), min(r-1, x+1)): for j in range(max(0, y-1), min(c-1, y+1)): counts[(i, j)]+=1 ans = [0]*5 for count in counts.values(): ans[count] += 1 ans[0] = (r-1)*(c-1)-sum(ans) return ans ```