Taffi писал(а):unsigned int num_local_maximums( const int array[], size_t size )
for(i = 1; i < size; i++) {
}
return n;
}
Форматирования нет. Еще одно интервью завалено.

KP580BE51
KP580BE51 писал(а):Определение максимума в математике достаточно однозначно - это точка в которой первая производная меняет знак.
dimp
kostia00
dimp писал(а):KP580BE51 писал(а):Определение максимума в математике достаточно однозначно - это точка в которой первая производная меняет знак.
Определение локального максимума функции действительно однозначно, но никакой "производной" там нет, вобще говоря, производная может быть вобще неопределена в этой точке, как тогда говорить о том, что она "меняет знак".Точка x0 является локальным максимумом f(x), если существует такое e>0, что для любого x, |x-x0|<e, выполняется f(x0)>=f(x)
a maximal extremum (maximal turning point or relative maximum) is one where the derivative of the function changes from positive to negative;
KP580BE51
KP580BE51 писал(а):dimp писал(а):KP580BE51 писал(а):Определение максимума в математике достаточно однозначно - это точка в которой первая производная меняет знак.
Определение локального максимума функции действительно однозначно, но никакой "производной" там нет, вобще говоря, производная может быть вобще неопределена в этой точке, как тогда говорить о том, что она "меняет знак".Точка x0 является локальным максимумом f(x), если существует такое e>0, что для любого x, |x-x0|<e, выполняется f(x0)>=f(x)
http://en.wikipedia.org/wiki/Extremuma maximal extremum (maximal turning point or relative maximum) is one where the derivative of the function changes from positive to negative;
В этом смысле что искать точку где array[i-1]- array[i] "changes from positive to negative" более правильно. математически, а не по мнению "lzh"![]()
point x* is a local (or relative) maximum of a function f if there exists some ε > 0 such that f(x*) ≥ f(x) for all x with |x-x*| < ε. On a graph of a function, its local maxima will look like the tops of hills.
Izh
dimp писал(а):KP580BE51 писал(а):Определение максимума в математике достаточно однозначно - это точка в которой первая производная меняет знак.
Определение локального максимума функции действительно однозначно, но никакой "производной" там нет, вобще говоря, производная может быть вобще неопределена в этой точке, как тогда говорить о том, что она "меняет знак".Точка x0 является локальным максимумом f(x), если существует такое e>0, что для любого x, |x-x0|<e, выполняется f(x0)>=f(x)
Izh
Izh писал(а):Эта задачка не на знание соискателем матанализа, а только
повод для разговора, чтобы понять, что тот из себя
представляет, в частности насколько он отдает себе отчет в
своих действиях и насколько он аккуратен. Вы тест не прошли.
Если уж говорить об определениях, тот вот ссылка из
той же wikipedi-и. Заметьте, что я не спорю с вашим
определением, в задачке подразумевалось, что вы
его либо спросите, либо зададите сами и озвучите.
То есть по этому определению, если у вас есть две соседние
(попадающие в ε-окрестность друг друга) точки, значения функции которых равны и одна из которых является
локальным максимумом, то другая также должна быть
локальным максимумом.
KP580BE51
KP580BE51 писал(а):Вы задали глубоко оторваный от реальности вопрос. Вы получили такойже ответ. Это все равно что попросить человека принести кирпич, а потом начать расказывать, что дескать вы хотели силикатный кирпич, а лучше не силикатный а шлакоблок..... Если вам хочется пива, и вы просите налить вам пива, то у вас могут спросить, какого пива вам хочется, а могут просто налить пива, и будут абсолютно правы.
Иоп
Иоп писал(а):ППКС!![]()
Не знаю как в программировании, а в нашей области, если потенциальный работодатель задаст подобную задачку на интервью, то потенциальный сотрудник его пошлет лесом. Потому что любая работа - это сотрудничество. И если работодатель позволяет себе неточности в постановке задачи, но требует точности в решении, то сотрудничества не получится!Мы называем это профессиональной этикой, которой похоже нет в программировании.
KP580BE51
KP580BE51 писал(а):Ну и хорошо. Удачи в поиске телепатов.
Вы спорите с правильностью решения задачи.
Вы задали глубоко оторваный от реальности вопрос. Вы получили такойже ответ. Это все равно что попросить человека принести кирпич, а потом начать расказывать, что дескать вы хотели силикатный кирпич, а лучше не силикатный а шлакоблок..... Если вам хочется пива, и вы просите налить вам пива, то у вас могут спросить, какого пива вам хочется, а могут просто налить пива, и будут абсолютно правы.
Izh
Taffi писал(а):unsigned int num_local_maximums( const int array[], size_t size )
{
BOOL bGrow = FALSE;
unsigned int n = 0, i;
for(i = 1; i < size; i++) {
if (array[i] >= array[i-1])
bGrow = TRUE;
else if (bGrow) {
n++;
bGrow = FALSE;
}
}
return n;
}
Izh
Gabo
Gabo писал(а):К решению Taffi надо добавить в началоКод: Выделить всё
if(size < 2)
return size;
Izh
Если понимать под определением локального максимума элемент, который больше своих соседей, то задача решена верно. Вы, судя по всему, больше под Windows пишите?
2. Игнорируются плоские локальные максимумы.
Taffi
Izh
Создано на основе phpBB® Forum Software © phpBB Limited