将nan替换为该行左边的数字。
如果有不止一个连续NaN,那么它们都应该替换为最左NaN最左边的第一个非NaN值。如果NaN在第一列中,则默认为零。
例如,如果
x =[南1 2南17 3 -4南]
然后
y = [0 1 2 2 17 3 -4 -4]
这个问题并没有将数组限制为单行。添加一些多行或定义为单行的情况。
x = [1:10 NaN];
y_correct = [1:10 10];
断言(isequal (replace_nans (x) y_correct))
c =
1 2 3 4 5 6 7 8 9 10南
在调用“replace_nans”期间没有分配的输出参数“y”(可能还有其他参数)。
Test4中的错误(第3行)
断言(isequal (replace_nans (x) y_correct))
为什么这不能通过?
这不是一个真正的解决方案,在这个方向上更像是一面“白旗”。
提示:递归
大尺寸…!
我刚刚意识到你可以通过发布像“大家好!!”这样的问题给一些玩家造成不便。我创造了科迪问题只是为了和我的科迪玩家朋友们打个招呼。这不是为了浪费你的时间或造成不便。我为删除这个问题的人道歉。
我确信它被错误地删除了,还有很多类似的Cody问题(想想Chuck Norris,印度数学家,最聪明的matlab程序员,等等)也许尼德-兰可以把它放回去?
谢谢您的回复,先生。
奇怪的……这些断言传到了我的电脑上
对于第二个测试,它给出:[0 0 1 2 2 2 17 3 -4],而不是[0 1 2 2 2 17 3 -4 -4]
很好,很直观,这个函数的解是可能的,但仍然很难找到。