leetcode 661. Image Smoother python

给定表示图像灰度的二维整数矩阵M,您需要设计一个更平滑的图像,使每个单元格的灰度级成为所有8个周围单元格及其自身的平均灰度级(舍入)。 如果一个细胞的周围细胞少于8个,则尽可能多地使用。

使用copy函数创建一个数组,再从[0][0]开始对数组元素重新填入。

from copy import deepcopy as copy

class Solution(object):
    def imageSmoother(self,M):
        x_len = len(M)
        y_len = len(M[0]) if x_len else 0
        res = copy(M)
        for x in range(x_len):
            for y in range(y_len):
                neibors = [
                    M[_x][_y]
                    for _x in (x-1,x,x+1)
                    for _y in (y-1,y,y+1)
                    if 0 <= _x < x_len and 0 <= _y < y_len
                ]
                res[x][y] = sum(neibors) // len(neibors)
        return res

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值