题目链接:661. 图片平滑器
朴素解法,每个单元格逐个计算,可以很好地并行化。
from typing import List
class Solution:
def imageSmoother(self, img: List[List[int]]) -> List[List[int]]:
m = len(img)
if m == 0:
return []
n = len(img[0])
if n == 0:
return []
def _apply(x: int, y: int) -> int:
eles = [img[i][j] for i in range(max(x - 1, 0), min(x + 2, m)) for j in range(max(y - 1, 0), min(y + 2, n))]
return sum(eles) // len(eles)
return [[_apply(x, y) for y in range(n)] for x in range(m)]