Какая тут сложность алгоритма?

Помогите плз оценить сложность алгоритма (разворачивает буквы в словах без изменения порядка слов):
const reverseWords = (str) => {
  const wordsArr = str.split(' ');
  const reversedArr = wordsArr.map((word) => {
    let newWord = '';
    for (let i = word.length - 1; i >= 0; i--) {
      newWord += word[i];
    }
    return newWord;
  });
  const reversedStr = reversedArr.join(' ');
  return reversedStr;
};

module.exports = reverseWords;
// O(n)?


по моим ощущениям выходит O(n).
Я права? Или O(n*m)?
  • Вопрос задан
  • 501 просмотр
Решения вопроса 1
sgjurano
@sgjurano
Разработчик
O(n), всего 3 прохода по строке: split, reverse, join.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
astec
@astec
Разработчик https://debtstracker.io/
В данной реализации скорее всего как минимум О(4n)
Split, reverse, join + concatenation (newWord+=)
Ответ написан
string15
@string15
Учусь верстать руками
помойму О(5n)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы