该题目网址如下:
https://leetcode-cn.com/problems/image-smoother/description/
本题使用python则会涉及到python内存管理(数组深浅拷贝)的问题。
当你创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而是拷贝了该对象的引用。
字符串被显式拷贝,并创建一个字符串对象,而列表元素只是将其引用复制,并不是它成员。
最初数组为:
N = [[0]*M_y]*M_X
由于list * n—>n shallow copies of list concatenated, n个list的浅拷贝的连接。所以答案全为为最后list的拷贝,不符合题意。
可以将数组修改为:
N = [[0 for i in range(M_y)] for i in range(M_x)]