我试图替换两个相同值之间的所有值,使用wrapparound。既然这很冗长,我想做的是:
我有这个数组(只有3个不同的值):
如果一个白色介于两个相同颜色之间,就把它涂成那个颜色。你知道吗
[w, o, w, w, y, y, o, w, o, y, o, w]
进行替换后,将显示如下:
[o, o, w, w, y, y, o, o, o, y, o, o]
以下是我到目前为止得到的(n
是数组的长度):
def initialPaint():
for i in range(0, n):
curr = arr[i]
mid = arr[(i + 1) % n]
last = arr[(i + 2) % n]
if mid == "w" and curr == last:
arr[(i + 1) % n] = curr
因为%n的原因,我认为这个环绕是有效的第二部分问题是如果有一部分像:[。。。o、 它不会把那两个白色漆成橙色。你知道吗
提前谢谢。让我知道如果有更多的澄清需要。你知道吗
一种可能的解决方案是在两个边界上扩展列表并在扩展列表上迭代:
印刷品:
可能的解决办法之一是
相关问题 更多 >
编程相关推荐