Если ваша последовательность 4 2 1
, самый большой скачок от 4 до 2. Если ваша последовательность 3 10 5 16 8 4 2 1
, самый большой скачок от 5 до 16.
Однако я создал алгоритм Я не совсем уверен, что я сделал неправильно (где бы я не сделал l oop правильно, правильно установил свои переменные или что-то еще). Я не уверен, что мне нужно установить мой индекс, BiggestDiff или CurrentDiff тоже. Я пытался использовать некоторое время l oop для сравнения каждого числа в моем векторе, но я получаю ноль (я предполагаю, потому что я установил BiggestDiff на ноль)
Если кто-то может указать мне правильное направление, покажите мне пример или что-то еще, это будет высоко ценится.
Вот мой код ниже
int findBiggestDiff(std::vector<int> sequence)
{
int index = 0;
int BiggestDiff = 0 ;
int CurrentDiff = BiggestDiff;
CurrentDiff = std::abs(sequence[index] - sequence[index + 1]);
while (index < sequence.size())
{
if (CurrentDiff > BiggestDiff)
{
BiggestDiff = CurrentDiff;
}
return index;
}
}