Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PHP

42K
21 мая 2009 года
marinnnn
3 / / 21.12.2008
Дан одномерный массив. Найти максимальную по длине подпоследовательность, элементы которой, в свою очередь, образуют монотонную последовательность (монотонно возрастает или монотонно убывает).
400
22 мая 2009 года
ArtemS2006
272 / / 12.01.2008
чтото сегодня на составление алгоритмов тянет =)
Код:
<?php
//поиск самой длинной монотонно убывающей последовательности
$arr = array(1,2,3,3,2,1,4,5,6,7,6,5,4);

$seq_arr = array();

$cur_arr = array($arr[0]);

for ($i=1;$i<count($arr);$i++)
{
  if ( $cur_arr[count($cur_arr)-1] >= $arr[$i] )
  {
    array_push($cur_arr, $arr[$i]);
  }
  else
  {
    array_push($seq_arr, $cur_arr);
    $cur_arr = array($arr[$i]);
  }
}
array_push($seq_arr, $cur_arr);

$final_arr = array();
for ($i=1;$i<count($seq_arr);$i++)
{
  if (count($final_arr) < count($seq_arr[$i]))
    $final_arr = $seq_arr[$i];
}
print_r($final_arr);
?>


<?php
//поиск самой длинной монотонно возрастающей последовательности
$arr = array(1,2,3,3,2,1,4,5,6,7,6,5,4);

$seq_arr = array();

$cur_arr = array($arr[0]);

for ($i=1;$i<count($arr);$i++)
{
  if ( $cur_arr[count($cur_arr)-1] <= $arr[$i] )
  {
    array_push($cur_arr, $arr[$i]);
  }
  else
  {
    array_push($seq_arr, $cur_arr);
    $cur_arr = array($arr[$i]);
  }
}
array_push($seq_arr, $cur_arr);

$final_arr = array();
for ($i=1;$i<count($seq_arr);$i++)
{
  if (count($final_arr) < count($seq_arr[$i]))
    $final_arr = $seq_arr[$i];
}
print_r($final_arr);
?>
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог