Код Junior RAG спрашивают часто обновлено

Чанкинг по словам с перекрытием

Условие

Напишите chunk_words(text, size, overlap): разбейте текст на слова по пробельным символам и нарежьте окна по size слов с перекрытием overlap слов (шаг size - overlap, гарантируется 0 <= overlap < size). Каждый чанк: слова, склеенные одним пробелом. Последний чанк может быть короче. Не создавайте чанк, если все его слова уже вошли в предыдущий. Для пустого текста [].

Примеры

chunk_words("a b c d e f g", 3, 1) // ["a b c", "c d e", "e f g"]
chunk_words("a b c d e f", 3, 1) // ["a b c", "c d e", "e f"]
chunk_words("a b c", 5, 2) // ["a b c"]

Как подойти

Подсказки: 2
  1. Цикл по началу окна с шагом size - overlap.
  2. Прервитесь, если i + size >= len(words).

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.