Решение задачи
Алгоритм решения задачи:
Основная идея оптимизированного решения состоит в том, что, если есть новая строка, начинающаяся с определенного индекса в предложении, то каков будет начальный индекс следующей строки (nextIndex[]). Кстати, мы вычисляем, сколько раз указатель в текущей строке проходит над последним индексом (times[]).
ans += times[i], i = nextIndex[i], for _ in 0..<row. где i указывает, какое слово является первым в текущей строке.
Временная сложность: O(n*(cols/lenAverage)) + O(rows), где n — длина массива предложений, lenAverage — средняя длина слов во входном массиве.
