Определить длину подмассива
Необходимо определить максимальную длину подмассива у которого все элементы возрастают: X(i) < X(i+1)
Объявил две переменные, одна содержит максимальную длину, другая хранит длину длин. Пробежался по массиву и записал в count значение. Если максимальное значение меньше count, то записал в максимальное значение count. В итоге будут посчитаны все возрастающие последовательности даже если они идут с прерыванием, но как посчитать именно подмассивы?
int max = 1;
int count = 1;
for (int i = 0; i < array.length - 1; i++) {
if (array[i] < array[i + 1])
count++;
}
if (max < count)
max = count;
count = 1;
System.out.print(max + " ");
Почти правильно написали, только последние строки должны быть в блоке else. Т.е. пока последовательность возрастает - увеличиваем счетчик. Как только перестала возрастать (конец возрастающей последовательности/подмассива) - проверяем на максимум и запоминаем если надо, а счетчик сбрасываем в начальное значение.
И сравнение после цикла - на случай если массив завершится на увеличивающейся последовательности, то сравнение с max в цикле не сработает.
int max = 1;
int count = 1;
for (int i = 0; i < array.length - 1; i++) {
if(array[i] < array[i+1])
count++;
else{
if (max < count)
max = count;
count = 1;
}
}
if (max < count)
max = count;