Задать вопрос

Как упростить алгоритм заполнения одномерного массива?

Здравствуйте, помогите, пожалуйста, попроще решить одну задачку, может, я что-то пропустил.

Имеется пустой одномерный массив.

Необходимо при заполнении ячейки массива (a) убедиться, что из ближайших к нему n ячеек заполнено не более m.

Банальнее всего пройтись циклом:
$result = true;
for($i=$a-$n;$i<=$a+n;$i++)
{
 $c = 0;
 for($j=$i;$j<=$i+n;$j++)
 {
  if($arr[$j]==true)
  {
   $c++;
  }
 }
 if($c>$m)
 {
  $result = false;
  return $result;
 }
}


Есть идеи, как упростить алгоритм?
Может, вообще php заранее решил проблему, и есть готовая функция?
  • Вопрос задан
  • 2675 просмотров
Подписаться 5 Оценить 1 комментарий
Ответ пользователя Vampiro К ответам на вопрос (3)
@Vampiro
Вы правы, эту задачу действительно уже давно упростили:
хранят расписание в базе данных, а количество занятий узнают запросом вида
select count(id) as 'ok' from tableName where `owner`=:ownerId and (`date` between :lowDate and :hiDate)
Ответ написан