CPallini
Ваша непосредственная проблема заключается в следующем
Цитата:
в то время как(я И Л;последовательность.размер())
Вы должны изменить его на
while(i < (sequence.size() - 1) )
Однако этого недостаточно.
Прежде всего вы должны заменить
>
с
>=
в сравнениях (потому что это должно быть
строго увеличивающаяся последовательность), то вы должны попытаться удалить либо
sequence[i]
или
sequence[i+1]
, принимая первый из них, который локально сохраняет
растет собственность. Наконец '
вы можете работать над точками стиля- например, возвращение
false
всякий раз, когда
count>1
вместо того, чтобы ждать конца цикла.
Member 13277493
#include <iostream>
#включить <вектор>
использование пространства имен std;
bool almostIncreasingSequence(std::vector<int> sequence)
{
int count=0;
int i=0;
в то время как(я И Л;последовательность.размер()-1)
{
если(последовательность[i]>=последовательность[i+1])
{
считать++;
последовательности.стереть(последовательность.начать()+(я+1));
}
я++;
if(count>1)
{
возвращать false;}
}
if(count<=1)
{
вернуть true;
}
}
тап_п()
{
вектор<int>arr{1,6,5,8,9};
соиь<&ЛТ;almostIncreasingSequence(ОБР) на<<епси;
}
это правильный код?
Member 13277493
извините, если мой вопрос глупый, но я написал так, это добавило истинную отметку также для одного теста, я не совсем понимаю, что происходит с массивом
bool almostIncreasingSequence(std::vector<int> sequence)
{
int count=0;
int i=0;
в то время как(я И Л;(последовательность.размер()-1))
{
если(последовательность[i]>последовательность[i+1])
{
последовательности.стереть(последовательность.начать()+(я+1));
считать++;
}
if(sequence[i]==последовательность[i+1])
{
последовательности.стереть(последовательность.начать()+я);
считать++;
}
я++;
if(count>1)
{
возвращать false;}
}
if(count<=1)
{
вернуть true;
}
}