Middle+
Corriger la méthode qui renvoie la longueur maximale d'une séquence dans laquelle chaque élément suivant augmente de 1, dans un tableau d'entiers donné. Si la liste ne comporte qu'un élément, la longueur de la séquence est 1.
sobes.tech IA
Réponse de l'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.