Python Simple
226 subscribers
55 photos
6 videos
175 links
by mr.Gold
Download Telegram
Всем привет. Возвращаемся к задачам по воскресеньям)
В чате https://t.me/+ChK7imUAJDlhN2Y6 за это время было предложено 3 задачи, предлагаю их разобрать всем)
24. Range Sum of BST (легкая)
На вход подается корень дерева, и минимальное и максимальное значения диапазона. Необходимо пройтись по дереву и сложить все значения из этого диапазона. Картинку можно посмотреть по ссылке
https://leetcode.com/problems/range-sum-of-bst/description/

Ваша задача решить эту задачу на литкоде и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)

Список всех задач
#ps_leetcode
2🤩2
Всем привет! (К обсуждению прошлой задачи можно тоже подключиться)
Ещё одна задача, которая встречалась в чате.
25. Assign Cookies (легкая)
Вы потрясающий родитель и хотите раздать своим детям по печенью, каждому можно дать не более одного печенья.
У каждого ребенка есть пожелание в размере печенья и все размеры разного размера.
Вам дается 2 списка, в первом - так называемый коэффициент жадности, то есть какой вес должен быть у печанья для i-го ребенка. Во втором списке содержится вес каждого печенья.
Вам надо вывести, сколько детей смогут получить печенье необходимого размера (печенье может весить больше, чем желает ребенок, но не меньше)
Условие на литкоде - https://leetcode.com/problems/assign-cookies/description/

Ваша задача решить эту задачу на литкоде и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)

Список всех задач
#ps_leetcode
4
Всем привет, мы как-то разбирали такой кейс, про аллоцирование памяти под список https://t.me/python_simple/102
Речи шла о том, что, когда список постепенно увеличивается, то место в памяти под список увеличивается x2, в тот момент, когда мы достигаем предела. Например у нас есть список на 5 элементов, и нам аллоцируется память на 8 элементов, и только когда мы заполним аллоцируемую память, то в новом месте выделится памяти уже на 16 элементов.
Внимание вопрос (кстати с собеса, но это 1 на миллион, что такой попадется, но вдруг).
Что произойдет, когда мы уменьшим список? Например был на 1000 элементов, а стал на 500, чтобы узнать, как проверить, надо ознакомиться с первой статьей)
🔥2
Всем привет!
Внимание вопрос:
Что бы вы посоветовали себе до покупки курса по программированию, если бы могли вернуться в прошлое?
Поделитесь мыслями, думаю, что это обсуждение может быть полезным)
🔥3
Всем привет!
Возвращаемся к тренировкам с алгоритмами и структурами данных на leetcode
25. 797. All Paths From Source to Target
Нам на вход подается направленный ациклический граф ( в виде списка смежности) из n узлов, наша задача найти все возможные пути от узла 0 до узла n-1 и вывести их в любом порядке.

Граф задан с помощью списка смежности, это значит что graph[i] - это список всех узлов, которые можно посетить из узла i (т.е. существует направленное ребро из узла i в узел graph[i][j]

Input: graph = [[1,2],[3],[3],[]]
Output: [[0,1,3],[0,2,3]]

Ваша задача решить эту задачу на литкоде и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)

P.S. Ссылка на задачу в названии, если на знакомы с графами в Грокаем Алгоритмы очень хороший разбор

Список всех задач
#ps_leetcode
5
Всем привет!
На эту неделю у нас будет задача попроще
2315. Count Asterisks (easy)
Вам дана строка s, в которой каждые две последовательные вертикальные полоски '|' объединены в пару. Другими словами, 1-я и 2-я '|' составляют пару, 3-я и 4-я '|' составляют пару, и так далее.

Верните количество '*' в s, исключая '*' между каждой парой '|'.

Обратите внимание, что каждый '|' будет принадлежать ровно одной паре

Input: s = "l|*e*et|c**o|*de|"
Output: 2
В данном примере поситаются только звездочки между c**o

Условия задачи
https://leetcode.com/problems/count-asterisks/description/

Ваша задача решить эту задачу на литкоде и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)


Список всех задач
#ps_leetcode
3
Всех поздравляю с началом новой недели!
Сегодня у нас будет хрестоматийная задачака на DP (динамическое программирование)
118. Pascal's Triangle
Нам на вход поступает число, которое характеризует количество строк Треугольника Паскаля, которые нам надо вывести
В треугольнике Паскаля каждое число равно сумме двух чисел, расположенных непосредственно над ним (чтобы лучше понять посмотрите гифку на самой странице с задачей, она и натолкнет Вас на рекуретную формулу)

https://leetcode.com/problems/pascals-triangle/description/

Ваша задача решить эту задачу на литкоде и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)


Список всех задач
#ps_leetcode
4
Доброго дня!
Задача на эту неделю 463. Island Perimeter (easy)
Вам дана матрица row x col, представляющая карту, где grid[i][j] = 1 обозначает сушу, а grid[i][j] = 0 - воду.
Ячейки матрицы соединены по горизонтали/вертикали (не по диагонали). Сетка полностью окружена водой, и в ней есть ровно один остров (то есть одна или несколько соединенных клеток суши).
На острове нет "озер", то есть вода внутри острова не связана с водой вокруг него. Одна клетка - квадрат со стороной длиной 1. Сетка прямоугольная, ширина и высота не превышают 100. Определите периметр острова


Условия задачи
https://leetcode.com/problems/island-perimeter/description/

Ваша задача решить эту задачу на литкоде и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)


Список всех задач
#ps_leetcode
🔥4
Всех поздравляю с началом рабочей недели!
На этой неделе потренируемся в работе со словорями, и у нас будет задачка 2325. Decode the Message
Вам даны строки key и message, которые представляют собой ключ шифра и секретное сообщение соответственно. Расшифровка сообщения выполняется следующим образом:
1. Используйте первое появление каждой из 26 букв английского алфавита, для составления таблицы расшифровки.
2. Затем каждая буква в секретном сообщении раскодируется с помощью созданной таблицы.
3.Символ " " должен остаться на своем месте


условия задачи (там будет картоночка для большего понимания)
https://leetcode.com/problems/decode-the-message/description/


Ваша задача решить эту задачу на литкоде 👩‍💻и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)


Список всех задач
#ps_leetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
6🙏1
Всем привет!)
Нас уже достаточно много, чтобы стартануть мок интервью.
Стандартные этапы интервью - это:
- Скрининг с hr (оч простые вопросы, которые будут повторяться в следующем собеседовании, но углубленно)
- Алгоритмы (решение 1-2 задачек с литкода)
- Платформа (вопросы по python, базам данных, и всего понемногу)
- Архитектура (спроектируйте нам Твиттер)
- Встреча с командой (софтскиллы на самом деле на всех этапах чекаются, но тут им уделяется более пристальное внимание)

Начнем с самого простого - это алгособесы.
Суть будет в том, чтобы 2 рандомных человека в чате сошлись, один готовит задачу, второй перечитывает "Грокаем алгоритмы"). Кто первый, а кто второй - решаете сами или можно провести 2 интервью.
Далее вы договариваетесь о дате и времени, проводите интервью, интервьюируемый может скинуть аккаунт в leetcode, чтобы интервьюер мог подготовить задачу, которую вы не решали.
Задача интервьюера - корректно объяснить условие, ответить на вопросы по условию и по возможным кейсам, далее не мешать. Если собеседуемый зашел в тупик, то можно направить.
Тайминг - 1 час на 2 задачи или полчаса на 1, но вы естественно можете подвинуть время при желании. Также хорошо будет познакомиться с единомышленниками и пообщаться.

Есть идея, как можно быстро (на этих выходных) запустить мок интервью на канале и протестить, на сколько это будет интересно.
Подключить https://random-coffee.ru/zapustit-svoy-servis на самом деле он служит для неформальных встреч, но мы можем его использовать как неформальные встречи + интервью)

Периодически буду проводить опрос, чтобы узнать ОС.
Также всегда можно залететь в чат и написать свои идеи https://t.me/+ChK7imUAJDlhN2Y6

Тут в комментариях можно написать что вы думаете по поводу этой идеи)
7👍2🔥1
Всем привет! На этой неделе задачи не было, поэтому сразу дам задачку на следующую неделю. Решил пройтись по roadmapy от neetcode.io, парень просто конечно бог во вскрытии алгоритмов, часть задачь на списки и словари, мы уже решили, выбрал ту, которой еще не было.
49. Group Anagrams
В этой задаче подается список строк и нам необходимо вкернуть двумерный список где анаграмы сгруппированны вместе.

Анаграмма - это слово или фраза, образованная путем перестановки букв другого слова или фразы, как правило, с использованием всех исходных букв в точности один раз.

Условия задачи и ссылочка на нее на leetcode
https://leetcode.com/problems/group-anagrams/description/

Ваша задача решить эту задачу на литкоде 👩‍💻и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)


Список всех задач
#ps_leetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3
Python Simple
Всем привет!) Нас уже достаточно много, чтобы стартануть мок интервью. Стандартные этапы интервью - это: - Скрининг с hr (оч простые вопросы, которые будут повторяться в следующем собеседовании, но углубленно) - Алгоритмы (решение 1-2 задачек с литкода) -…
Ура! РандомБот для наших мок интервью запущен https://t.me/RandomCoffee_PythonSimple_bot
Регистрируйтесь, но есть минус, он стартанет только тогда, когда в нем наберется 50 участников, надеюсь, что мы вскоре их наберем) Если не наберется в ближайшие 2 недели, то придумаем что-то ещё)
Я зарегистрировался уже)
Кроме мок интервью это уникальная возможность познакомиться с людьми близкими к вам по интересам)
4🔥2🤔1
Всем привет, вот задача на грядущую неделю!
Продолжаем идти по roadmap от neetcode
347. Top K Frequent Elements
Нам дан список с неотрицательными числами nums и число k, наша задача вернуть k наиболее встречаемых элемента в виде списка, порядок этих элементов в списке, может быть произвольным.

Литкод просит придумать алгоритм за O(n), но как я думаю O(n log n) тоже прокатит, для решения за O(n) надо знать такую штуку как Bucket Sort и я не думаю, что на собесах пригодиться нырнуть так глубоко.

https://leetcode.com/problems/top-k-frequent-elements/description/
Ваша задача решить эту задачу на литкоде 👩‍💻и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)


Список всех задач
#ps_leetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1
Всем привет!
Скорее всего большинству из вас я рекомендовал какие-то видео с канала Олега Молчанова.
И ура, он вернулся и закинул ещё пару видео по мокам, каналам и REST API https://www.youtube.com/@zaemiel/videos . Также у него есть бусти в описании канала, с курсами по ООП и асинхронности.
По асинхронности на сколько я знаю, много пересечений с этой книгой https://dmkpress.com/catalog/computer/programming/python/978-5-93700-166-5/ , хотя по моему Олег курс сделал до этой книги) Но чтобы все встало на места, рекомендую прочитать.
p.s. В боте для собесов пока зарегистрировалось меньше 50-ти человек, но достаточно, чтобы проводить мок интервью, поэтому придумаем что-то другое, чтобы начать в ближайшее время.
Всем отличной пятницы и выходных!
🔥7👍21
Всем привет! Давно ничего не решали с лит кода, надо бы исправить это дело, задачка на текущую неделю.
643. Maximum Average Subarray I
Нам дан список наполненный числами (числа могут быть как положительными так и отрицательными и число k, наша задача найти непрерывный подмассив длинны k, чье среднее значение будет максимальным и вернуть это значение.

https://leetcode.com/problems/maximum-average-subarray-i/description/?envType=study-plan-v2&envId=leetcode-75

Ваша задача решить эту задачу на литкоде 👩‍💻и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)


Список всех задач
#ps_leetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Всем привет, есть крутая книга "Python. К вершинам мастерства" Лучано Ромальо, автор там достаточно глубоко копает. И вот пожалуйста, есть обзор книги, всего-лишь на 9 часов)
https://www.youtube.com/watch?v=yHckrS1lvG8
На приятный досуг)
8🔥2👍1
Python Simple
Воскресная задача по недавним собесам. 20. Squares of a Sorted Array (легкая) leetcode.com/problems/squares-of-a-sorted-array Получаем отсортированный неубывающий массив, вернуть надо также неубывающий массив квадратов каждого числа из первого массива. Пример…
Всем привет!
Когда-то разбирали эту задачу. Недавно я был на собесе и получил опять эту задачу, возможно я был на собесе даже в ту же компанию) И я опять решил её, да сложность моего алгоритма такая же O(n) и по памяти все также, но немного сложнее логика. Как можно было забыть, что я её решал уже несколько раз. Но мне мое решение кажется более интуитивно понятным.
Если вы решали эту задачу уже, рекомендую решить ещё раз, по идее, если решали уже, то она не должна занять больше 10-15 минут. Или не подглядывая, накидайте в комментариях идеи, тут их может быть 3, на первый взгляд
4🤔3👍1🫡1
Привет! С прошлой задачей разобрались во второй раз, в комментариях можно увидеть решение.
Переходим на следующий этап:
У всех все хорошо с обходом графа?
Сколько вариантов решения видите в этой задаче?
https://leetcode.com/problems/number-of-islands/description/
Кстати одна из типичных на собеседованиях, когда хотят проверить вас на графы. Есть много интерпретаций данной задачи, но все они об одном и том же.
3👏2👍1
Всем привет!
Сегодня будет мини вопрос из секции систем дизайна.

У нас есть БД с табличкой юзеров, у юзера есть такие параметры, как ФИО, нам надо добавить возраст. При этом нам говорят, что таблица с юзерами ооочень большая и в проде не может быть простоев, поэтому через alter table добавлять поле нельзя. Также говорят о том, что скорее всего нам надо будет добавлять в будущем ещё атрибуты юзера. Внимание вопрос, как это реализовать и какая схема БД должна быть?
🔥31👍1🤪1