Re[2]: найти самую длиную пилооброзную последовательность
От: Рома Мик Россия http://romamik.com
Дата: 06.07.03 10:51
Оценка:
Здравствуйте, Рома Мик, Вы писали:

Чего-то я ошибся зачем-то

РМ>
РМ>int start = 0, end = 0;
РМ>for(int n = 1; n < count - 1; ++n)
РМ>{
РМ>    int n1 = n;
РМ>    while(((a[n - 1] > a[n]) == (a[n] < a[n + 1]) 
РМ>        || (a[n - 1] < a[n]) == (a[n] > a[n + 1]))
РМ>        && n < count - 1) 
РМ>        ++n;
РМ>    if(n - n1 > start - end) 
РМ>    {
РМ>        start = n1 - 1;
РМ>        end = n;
РМ>    }
РМ>    while((a[n - 1] > a[n]) != (a[n] < a[n + 1]) 
РМ>        && (a[n - 1] < a[n]) != (a[n] > a[n + 1])
РМ>        && n < count - 1) 
РМ>        ++n;
РМ>}
РМ>// здесь start и end индексы первого и последнего элемента максимальной пилообразной подпоследовательности
РМ>
... << RSDN@Home 1.1 alpha 1 >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.