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