我现在有具有数据这样的二维数组:计数特定细胞
X X X X
X X X X
X X X
X X X X
X X X X
X X X X X
X标志着有数据的单元,空白意味着其空。 我一直在拉我的头发的最后一个小时试图找出如何计算我所说的“洞”。 它基本上是一个有两个单元之间有空数据的单元。 所以按顺序你可以看到从左到右分别有2,0,2,0,0孔。 我的功能需要返回总漏洞,所以对于这种情况4.
目前我已经完成了这个非常接近,但我的功能是计数第二个第一个单元格上的错误,我不知道如何解释这一点。
这里是我的实际代码:
public function countHoles(){
$total = 0;
for($i=0; $i<5; $i++){
$counting = false;
$passed = false;
for($j=0; $j<10; $j++){
if(count($this->table[$j][$i])>0){
$passed = true;
}
if($passed && !$counting && count($this->table[$j][$i])==0){
$counting = true;
}
else{
$counting = false;
}
if($passed && $counting){
$total++;
}
}
}
return $total;
}
您的帮助表示赞赏。
是怎样的数组被赋值?这些“洞”是空的还是空的? – Reina
我可能忘了提及每个单元格是一个数组 我正在做的只是计算它的元素 所以“洞”将由count($ this-> table [$ j] [$ i ])== 0' –
@DanyKhalife:http://codegolf.stackexchange.com/ – ariefbayu