Length of Last Word на Python: Решаем LeetCode задачи уровня Easy
Вставка
- Опубліковано 20 чер 2023
- В этот раз Альбина решила взять задачу под номером 58, которая также известна, как Length of Last Word. Если описывать ее в двух словах, то в исходном предложении нужно определить последнее слово и в качестве результата вернуть количество символов из которого это слово состоит. Звучит просто, но на практике пришлось попотеть.
Ссылка на задачу: leetcode.com/problems/length-...
GitHub репозиторий github.com/valeryvpetrov-dev/AK
Актуальные вакансии: career.technokratos.com/
Telegram: t.me/technokratos
ВКонтакте: technokratos
#LeetCode #python #АлгоритмическаяКачалка #Программирование #Алгоритмы
Прикольно) на ум сразу приходит именно питонячий вариант)
В первом варианте кстати можно еще идти с конца строки. Это тоже О(n) в худшем случае, но в кейсах с большим количеством слов в строке - ускорит время выполнения
да, классный вариант, почему-то автору это в голову сразу не залетело
Требую еще приглашать Альбину!
return len(s.split()[-1])
Все верно, split() по умолчанию разбивает строки по пробелам.
По хорошему, надо еще проверить, что результат после сплита не пуст.
Надо с конца строки идти, если пробел и строка под слово не пустая, то выход из цикла принудительно (не знаю есть такое в питоне или нет). Если не пробел, то добавляем символ в строку. Важно заметить, что строку надо формировать задом наперед. Т.е. нужно к символу добавлять строку ('s' + lastWord), а не наоборот, потому что символы идут с конца строки при формировании слова.
Если че я не питонист, код в уме написал за несколько минут. Не проверял, но вроде будет работать и вроде оптимальная сложность алгоритма.
Ждем еще задач )
Следующий выпуск почти готов. А вы пока предлагайте задачи, которые Альбина может разобрать
@@technokratosTV Коммент не опубликовался. Кароче дайте Альбине нормальную задачу. Есть два прямоугольника, нужно определить есть ли вложенность одного в другой (полная вложенность) и определить есть ли точка пересечения между прямоугольниками (и граница и внутренняя часть считаются частью прямоугольника). Также определите площадь пересечения.
Желаю Альбине удачи :)))
Я тоже путаю strip и trim. Trim в C#)))
len это O(1), а не проход по строке
Ваша правда, ошиблись
return len(s.split()[-1])
тут задачу решают, а не встроенный метод используют. на собесе такое не показывайте, а то не поймут юмора.