Php 想知道codility.com测试用例是如何定义的吗?
我在尝试Codibility.com。用于测试“PermMissingElem” 我写了一个PHP解决方案,它不是很好,但仍然适用于我所有的测试用例 Codibility只给了我20%的信息,告诉我一些失败的测试用例。这里有一些 例如:Php 想知道codility.com测试用例是如何定义的吗?,php,Php,我在尝试Codibility.com。用于测试“PermMissingElem” 我写了一个PHP解决方案,它不是很好,但仍然适用于我所有的测试用例 Codibility只给了我20%的信息,告诉我一些失败的测试用例。这里有一些 例如: 空的和单的 空列表和单个元素0.050 s。运行时错误 测试程序意外终止 标准: 无效的结果类型,应为int。 第一次或最后一次缺失 第一个或最后一个元素缺少0.050秒。运行时错误 测试程序意外终止 标准: 无效的结果类型,应为int。 单曲 单元件0.050
空的和单的
空列表和单个元素0.050 s。运行时错误 测试程序意外终止 标准: 无效的结果类型,应为int。
第一次或最后一次缺失
第一个或最后一个元素缺少0.050秒。运行时错误 测试程序意外终止 标准: 无效的结果类型,应为int。
单曲
单元件0.050 s。运行时错误 测试程序意外终止 标准: 无效的结果类型,应为int 我知道这个测试在这里已经解决了,我只是想知道他们的测试到底意味着什么,为什么我的解决方案在他们身上失败了 以下是我的解决方案PHP代码:
function solution($A) {
$noe = count($A);
if($noe == 0)
return 1;
for($i=1;$i<=$noe;$i++)
{
if(!in_array($i,$A,TRUE))
return $i;
}
}
函数解决方案($A){
$noe=计数($A);
如果($noe==0)
返回1;
对于($i=1;$i当缺少最后一个元素时,您的解决方案不会返回任何结果。例如,对于数组[1],正确的结果是2,但您的函数不会返回任何结果。
另一个例子:使用数组[1,2],您的解决方案不会返回任何内容,但应该返回3
我认为修复此错误不会有任何问题。虽然会有性能问题。这是C#,但我的程序提供了100%正确率和100%性能
Array.Sort(A);
if(A.Length == 0 )
{
return 1;
}
else
{
for(int i=0;i<A.Length;i++)
{
if(A[i] != i+1)
{
return i+1;
}
}
}
return A.Length + 1;
Array.Sort(A);
如果(A.Length==0)
{
返回1;
}
其他的
{
对于(int i=0;i,这是我在codility中针对PermMissingElem的100%php解决方案,非常简单,只需正确命名变量即可:
function solution($A) {
// write your code in PHP5.5
sort($A);
$index = 0;
foreach($A as $value)
{
$expected = $index+1;
if ($expected != $value) return $expected;
$index++;
}
return $index+1;
}