例如Output wins应该是[3 4]吗?
我想是这样。
例子应该是[3 4]。我不能理解为什么没有赢的输出必须是0而不是[]-空矩阵将更符合列出所有方块的要求。我也想知道这个列表是否应该有唯一的条目?测试用例不会检查这个。
测试2:b=7 ?
对不起。好的。这是X的一步棋
坏的问题。示例解决方案应该是[3 4]。
测试套件的问题。
第一个测试用不同的值(a)调用我的函数两次
Y函数开始和结束与诊断:
----
函数wins = ticTacToe(a)
disp (' = ')
disp (a)
...
Wins =唯一的(Wins)
结束
------
第一个测试结果为:
------
%%
A = [1 0 0 .
0 1 0
1 0 1];
b = [0];
=井字棋(一个);
断言(isequal ((:), b (:)))
一个=
1 0 1
0 1 0
1 1 1
赢了=
4 8
一个=
1 0 0
0 1 0
1 0 1
赢了=
空矩阵:0-by-1
断言失败。
-----
在提交我的解决方案时,我总是得到一个错误:“提交您的解决方案时出现了一个问题。删除不适当的内容。有关指导方针,请参见关于科迪。”我的解决方案中没有不合适的内容。
布兰登,这可能是反垃圾邮件过滤器的副作用。尝试改变变量名等等。有时甚至在这里或那里增加一个空间也可以。
布兰登,简说得对。处理垃圾邮件给我们带来了困难。如果我们设置的门槛太低,垃圾邮件就会大量涌入。如果我们定得太高,会惹恼像你这样的好人。抱歉给你添麻烦了。我们正在努力。
请修复测试用例1。它在某种程度上为其他测试用例创造了问题,因为'a =['没有在新行开始。
我同意yurenchu的观点。此时测试用例被破坏了,需要修复——否则正确的解决方案无法工作。万博 尤文图斯
=,
“季度”=“季度”
我修正了测试用例1在新行开始。
感谢您修复了测试用例!
我最大的代码。感觉其他小代码有点作弊,我不理解它们。
科迪怎么可能认为这是一个正确的解决方案呢?
这段代码在测试套件的第一个例子中失败了(不是[4 8],只显示[4]),但通过了其余的例子。我找不出里面有什么问题!有什么建议吗?
这段代码有什么问题?
我在寻找一种可以理解的算法。非常感谢。我现在有个好主意了。
为什么它不起作用?为什么返回错误的ind ?
这是两个不同的问题。(1)它不起作用,因为“find”返回一个列向量。这可以通过调换“for”语句中的“ind”来修复,就像我在解决方案1276663中对这个问题所做的那样。(2) AFAIK, Cody中有一个未知的小故障,您代码中的前一个bug导致“ind”的内容被误报;正如解决方案1276663所示,实际上“ind”的内容是好的。
谢谢大卫。以前我确实得到了一个转换“ind”工作的解决方案(见解决方案1142933)。似乎那时我还没有意识到for循环不仅给标量赋值,而且给它的索引变量('j")赋值整个列向量。
然而,这仍然让我感到困惑,为什么“ind”的错误值被报告(*在*进入for循环之前);但这可能确实只是Cody或这个测试套件的一个小故障。
我不明白为什么我失败了所有的测试,它在我的MATLAB完美地工作。
你不仅需要对角线,还需要行和列的切换/case过程;否则,您将为wins(k)分配错误的值(在第6行和第10行)。
对于一般情况,解决方案需要在结尾使用UNIQUE语句。