• Предмет: Информатика
  • Автор: ivtovst
  • Вопрос задан 5 месяцев назад

Помогите решить задачу JS
Также объясните пожалуйста как работает код, я чайник)
Дублирую условие задачи:
В одномерном массиве найти наибольшую по длине повторяющуюся последовательность символов. Например, в строке «abcdgababcefbcdg» ответ «bcdg» с длиной 4 . Не использовать строковые функции.​

Приложения:

Ответы

Ответ дал: CarlBro
0

Ответ:

// Определяем массив символов

let arr = ['a', 'b', 'c', 'd', 'g', 'a', 'b', 'a', 'b', 'c', 'e', 'f', 'b', 'c', 'd', 'g'];

// Инициализировать переменные для хранения текущей и самой длинной последовательностей

let currentSequence = arr[0];

let longestSequence = arr[0];

// Перебираем массив символов

for (let i = 1; i < arr.length; i++) {

 // Если текущий символ совпадает с предыдущим символом,

 // добавляем его в текущую последовательность

 if (arr[i] === arr[i - 1]) {

   currentSequence += arr[i];

 }

 // Если текущий символ отличается от предыдущего символа,

 // проверяем, длиннее ли текущая последовательность, чем самая длинная последовательность

 // и при необходимости обновить самую длинную последовательность

 else {

   if (currentSequence.length > longestSequence.length) {

     longestSequence = currentSequence;

   }

   currentSequence = arr[i];

 }

}

// Проверяем, длиннее ли последняя текущая последовательность, чем самая длинная последовательность

if (currentSequence.length > longestSequence.length)

Объяснение:

Вас заинтересует