LeetCode | "1. Two Sum" | Easy. Решение задачи.
Вставка
- Опубліковано 28 тра 2024
- #leetcode #youtube #python
Решение задачи "1. Two Sum" из LeetCode.
Ссылка на задачу: leetcode.com/problems/two-sum/
В данном видео я рассказываю как я решил эту задачку.
В начале я объяснил суть проблемы, затем объяснил свою логику для решения задачи.
Первый алгоритм, брутфорс, легко пишется но очень медленный.
Иногда, он превышает время требуемое для прохождения всех тестов, но в основном принимается платформой как правильное решение.
Следующий алгоритм, немного сложнее но намного быстрее по времени работы. В более быстром решение я использую hashmap.
В видео я показал мой первый вариант оптимального алгоритма, а так же его более короткую версию.
Я планиру продолжить серию, следующая задака на очереди: Two Sum II.
Если торопишься:
00:00 Привет!
00:12 Что по условиям задачи...?
00:34 брутфорс... :)
03:43 код, двойной форлуп.
05:05 хэшмап для оптимального метода.
06:21 Ого, логика лол....
08:22 код, с хэшмапом и конфетами.
09:06 тот же код но без конфет, короче.
10:02 случайная мудрость...
PS. Я устал это монтировать..., нажмите лайк плиз Ж))) - Наука та технологія
Спасибо за понятное и четкое объяснение, больше снимай таких видео)
о так понятно, спасибо, было бы интересно если бы и дальше продолжали
супер, пожалуйста продолжайте, спасибо огромное!
Большое спасибо. Очень доступно и понятно
#hashmap
Finally!! Someone can explain it adequately. Also, using proper English pronunciation. Thank you for great content!
Отлично, спасибо, заинтересовал
Мне понравилось, спасибо за контент
Расскажи о себе, кем работаешь и где работаешь итд
Спасибо за решение
Круто, продолжай )
спасибо большое
#hashmap
задачка действительно легкая, додумался использовать hashmap, но не додумался совместить эти два цикла, тут прокол)
Подскажите, этот код будет быстрее Вашего?
def two_sum():
for i in range(len(nums)-1):
if (target - nums[i]) in nums:
return([i, nums.index(target - nums[i])])
Можно проверить код на литкод на время
Я проверил ваш код, он не рабочий, потому что в список может попасть один и тот же элемент
разве оптимальный варик не O(n^2) тоже?
Почему сложение медленнее чем вычитание?
Хм, а разве не стоило разрулить проверку на наличие ключа по другому? Ведь сложность in == O(n), а это уже цикл в цикле, что равно n*n.
Hashmaps
что такое брутфорс?
brute force то же, что и straight forward - решение задачи самым примитивным способом, первое что в голову приходит. В данном случае это двойной цикл, где мы просто ищем сумму элементов. А еще можно перевести [грубая сила/грубо]
@@Owlik не "просто ищем", а перебираем все варианты
это и есть брут форс
Решение задачи перебором всех вариантов. Например, вскрытие цифрового замка, где есть 3 колесика, перебирая 000, 001, ..., 999
зачем сразу учить людей ездить из Питера в Москву через Владивосток? :) И когда вопрос стоит в оптимальности, нужно сразу критерии оптимальности задавать. Что важнее, какие ограничения. В некоторых случаях мы ограничеры длиной программы скомпилированной, в некоторых количеством ячеек памяти. В некоторых количеством перезаписи ячеек памяти (если она вообще возможна), в некоторых количеством операций, в некоторых временем выполнения программы. Из всего этого составляется формула/уравнение оптимальности и по ней идет оценка результата. Может вообще быть обратная оптимальность как в этом решении :) когда нужно использовать максимум всех ресурсов :) "вредная программа" :) Но в целом интересный контент. Никогда не приходилось синтетические задачи решать и стало интересно на что люди тратят время своей жизни.
Здраствуйте, вы нашли работу, как пойтон бекенд?
следует ли решать литкод для этого?
у меня очень слабый пайтон, но ОРМ джанго более менее
Что то слишком много слов, можно раза в три сократить видео
#hashmap
#hashmap
#hashmap
#hashmap