У меня есть двумерный массив, скажем, Array A [60] [150], и у меня есть другой массив, Array B [60] [150].Теперь я пытаюсь сделать следующее:
Учитывая точку в массиве A, скажем, x, вы хотите получить доступ к своим соседям, чтобы найти сходство между этими двумя элементами.если они похожи, найдите соседей.Так что сейчас я использую рекурсивную функцию, чтобы сделать это.Но он выдает ошибку, говорящую о том, что максимальное время выполнения превышено или не хватает памяти.
Так что мне просто интересно, есть ли другие, чтобы решить эту проблему.Я имею в виду без использования рекурсии.
пример кода:
protected function find_neighbor($y,$x,$garray,$gr)
{
$r=$garray[$y][$x-1]['red'];
if(true){
$this->find_neighbor($y,$x-1,$garray,$gr);
}
$r=$garray[$y-1][$x-1]['red'];
if(true){
$this->find_neighbor($y-1,$x-1,$garray,$gr);
}
$r=$garray[$y-1][$x]['red'];
if(true){
$this->find_neighbor($y-1,$x,$garray,$gr);
}
$r=$garray[$y-1][$x+1]['red'];
if(true){
$this->find_neighbor($y-1,$x+1,$garray,$gr)
}
$r=$garray[$y][$x+1]['red'];
if(true){
$this->find_neighbor($y,$x+1,$garray,$gr);
}
$r=$garray[$y+1][$x+1]['red'];
if(true){
$this->find_neighbor($y+1,$x+1,$garray,$gr);
}
$r=$garray[$y+1][$x]['red'];
if(true){
$this->find_neighbor($y+1,$x,$garray,$gr);
}
$r=$garray[$y+1][$x-1]['red'];
if(true){
$this->find_neighbor($y+1,$x-1,$garray,$gr);
}
}