leetcode day20 Image Smoother

题目描述 :给定一个数组(也就是类似于图片 m*n),要求求出以它为中心的九宫格的平均值。并返回这个新数组
题目思路:没什么思路,就按照本来的写就好了,要考虑边界条件

class Solution:
    def imageSmoother(self, M: List[List[int]]) -> List[List[int]]:
        neighbour = [[-1, -1], [-1, 0], [-1, 1], [0, -1],[0, 0], [0, 1], [1, -1], [1, 0], [1, 1]]
        r = len(M)
        c = len(M[0])
        s_array = []
        
        
        for r_i in range(r):
            c_array = []
            for c_i in range(c):
                count = 0
                sum_a = 0
                for i in neighbour:
                    if (0 <= r_i+i[0] < r) and (0 <= c_i + i[1] < c):
                        sum_a += M[r_i+i[0]][c_i+i[1]]
                        count += 1
                # print (r_i,c_i, sum_a)
                c_array.append(int(sum_a/count))
            s_array.append(c_array)
        
        return s_array
        
                
            

猜你喜欢

转载自blog.csdn.net/qq_39029148/article/details/88913281