Проверка того, увеличивается ли последовательность целых чиселC#

Место общения программистов C#
Anonymous
Проверка того, увеличивается ли последовательность целых чисел

Сообщение Anonymous »

Я застрял лишь частично, решая приведенную ниже задачу.

Для последовательности целых чисел проверьте, можно ли получить строго возрастающую последовательность, не стирая больше из него более одного элемента.

Пример

sequence = [1, 3, 2, 1]
almostIncreasingSequence(sequence) = false

sequence = [1, 3, 2]
almostIncreasingSequence(sequence) = true


Мой код передает только несколько примеров:

bool almostIncreasingSequence(int[] sequence) {
int seqIncreasing = 0;
if (sequence.Length == 1) return true;
for (int i = 0;i < sequence.Length-2;i++)
{
if ((sequence == sequence[++i]+1)||(sequence == sequence[++i]))
{
seqIncreasing++;
}
}
return ((seqIncreasing == sequence.Length) || (--seqIncreasing == sequence.Length));
}


Неудачные примеры:

Input:
sequence: [1, 3, 2]
Output:
false
Expected Output:
true

Input:
sequence: [10, 1, 2, 3, 4, 5]
Output:
false
Expected Output:
true

Input:
sequence: [0, -2, 5, 6]
Output:
false
Expected Output:
true

Input:
sequence: [1, 1]
Output:
false
Expected Output:
true


Подробнее здесь: https://stackoverflow.com/questions/424 ... increasing

Вернуться в «C#»