Sobes.tech
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.