Middle+
Corregir el método que devuelve la longitud máxima de una secuencia en la que cada elemento siguiente aumenta en 1, en un array de enteros dado. Si la lista consta de 1 elemento, la longitud de la secuencia es 1.
sobes.tech AI
Respuesta de la IA
Задача — найти максимальную длину последовательности в массиве, где каждый следующий элемент увеличивается ровно на 1.
Пример исправленного метода на JavaScript:
function maxIncreasingSequenceLength(arr) {
if (arr.length === 0) return 0;
if (arr.length === 1) return 1;
let maxLen = 1;
let currentLen = 1;
for (let i = 1; i < arr.length; i++) {
if (arr[i] === arr[i - 1] + 1) {
currentLen++;
if (currentLen > maxLen) {
maxLen = currentLen;
}
} else {
currentLen = 1;
}
}
return maxLen;
}
// Пример использования:
console.log(maxIncreasingSequenceLength([1, 2, 3, 5, 6, 7, 8, 10])); // 4 (последовательность 5,6,7,8)
console.log(maxIncreasingSequenceLength([10])); // 1
Логика:
- Идём по массиву с 1-го элемента.
- Если текущий элемент равен предыдущему + 1, увеличиваем счётчик текущей последовательности.
- Иначе сбрасываем счётчик.
- Отслеживаем максимальную длину последовательности.
Так мы получаем максимальную длину строго возрастающей последовательности с шагом 1.