Back to questions
Т-Банк
Middle+
7
Исправить метод, который возвращает максимальную длину последовательности, в которой каждый следующий элемент увеличивается на 1, в заданном массиве целых чисел. Если список состоит из 1 элемента, то длина последовательности равна 1.
Companies where asked
Answer from AI
sobes.tech AI
Задача — найти максимальную длину последовательности в массиве, где каждый следующий элемент увеличивается ровно на 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.