我正在codility.com上进行演示测试。
我尝试了以下PHP测试代码:
function solution($A) {
$min = 0;
$size = count($A)-1;
for($i=0;$i<5;$i++){
if($i=0)
$min=$A[0];
}
return $min;
}
脚本需要大约3.03秒来执行,它们将最大执行时间设置为2.00秒。
如果我评论FOR LOOP它可以正常工作。
有什么想法吗?
答案 0 :(得分:4)
你在这里覆盖你的$ i变量:
if($i=0)
应该是
if($i==0)
答案 1 :(得分:1)
因为你写了if($i=0)
它是赋值运算符而不是比较运算符。使其正确if($i==0)
function solution($A) {
$min = 0;
$size = count($A)-1;
for($i=0;$i<5;$i++){
if($i==0)
$min=$A[0];
}
return $min;
}
答案 2 :(得分:0)
你的for循环看起来像这样:
for($i = 0; $i < 5; $i++)
这意味着:将$ i初始化为0,直到$ i为5或更大,执行循环并递增$ i。
但是,你写了这个:
if($i = 0)
要比较$ i和0,您应该使用==
,而不是=
。这将$ i设置为0. if不执行,因为0等于false。然后$ i递增到1. 1小于5,因此循环永远执行。
使用if($i == 0)
进行修复。
答案 3 :(得分:0)
每个人都指出哪个if($i=0)
应该是if($i==0)
。
但我有一个担忧。为什么只有返回$min
$A[0]
时会出现for循环?