Прикольно) на ум сразу приходит именно питонячий вариант) В первом варианте кстати можно еще идти с конца строки. Это тоже О(n) в худшем случае, но в кейсах с большим количеством слов в строке - ускорит время выполнения
@technokratosTV Жыл бұрын
да, классный вариант, почему-то автору это в голову сразу не залетело
@СерхиоБускетс-ф7я6 ай бұрын
Надо с конца строки идти, если пробел и строка под слово не пустая, то выход из цикла принудительно (не знаю есть такое в питоне или нет). Если не пробел, то добавляем символ в строку. Важно заметить, что строку надо формировать задом наперед. Т.е. нужно к символу добавлять строку ('s' + lastWord), а не наоборот, потому что символы идут с конца строки при формировании слова. Если че я не питонист, код в уме написал за несколько минут. Не проверял, но вроде будет работать и вроде оптимальная сложность алгоритма.
@normanwow Жыл бұрын
return len(s.split()[-1])
@sergeyleonov151010 ай бұрын
Все верно, split() по умолчанию разбивает строки по пробелам.
@Seva8967 ай бұрын
По хорошему, надо еще проверить, что результат после сплита не пуст.
@alexjuly70972 ай бұрын
Питон-based вариант в теории c maxsplit будет быстрее, тк будет только один сплит. class Solution: def lengthOfLastWord(self, s: str) -> int: return len(s.rstrip().rsplit(maxsplit=1)[-1]) if s else 0 И, честно говоря, вообще не понял в чем алгоритмическая задача тут, вроде всё сразу очевидно.
@waleev Жыл бұрын
Требую еще приглашать Альбину!
@KotBtc Жыл бұрын
Ждем еще задач )
@technokratosTV Жыл бұрын
Следующий выпуск почти готов. А вы пока предлагайте задачи, которые Альбина может разобрать
@СерхиоБускетс-ф7я6 ай бұрын
@@technokratosTV Коммент не опубликовался. Кароче дайте Альбине нормальную задачу. Есть два прямоугольника, нужно определить есть ли вложенность одного в другой (полная вложенность) и определить есть ли точка пересечения между прямоугольниками (и граница и внутренняя часть считаются частью прямоугольника). Также определите площадь пересечения. Желаю Альбине удачи :)))
@dadyx85 Жыл бұрын
Я тоже путаю strip и trim. Trim в C#)))
@anotheraleks Жыл бұрын
len это O(1), а не проход по строке
@technokratosTV Жыл бұрын
Ваша правда, ошиблись
@slmpnv7 ай бұрын
return len(s.split()[-1])
@СерхиоБускетс-ф7я6 ай бұрын
тут задачу решают, а не встроенный метод используют. на собесе такое не показывайте, а то не поймут юмора.