Немного поменяем формат разбора вопросов. Будем как с задачами. Задаю вопрос, затем обсуждаем в комментариях, затем формируем ответ. И запишу по результатам темы, которые стоит осветить отдельно.
6-ой вопрос:
Как передаются значения в функцию, по ссылке или по значению, и что это значит?
Все переменные в функции передаются по ссылке. То есть, если мы внутри функции будем менять переданный туда список, то он будет меняться и вне функции. Поэтому, если мы не хотим менять изначальный объект, то надо передавать копию объекта в функцию или мы должны знать, что условно список не будет изменяться внутри функции. Это относится к изменяемым типам.
С изменяемыми типами все проще. Если мы передадим инт или строку, то внутри функции мы не сможем их изменить.
все вопросы
#ps_question
6-ой вопрос:
Как передаются значения в функцию, по ссылке или по значению, и что это значит?
Все переменные в функции передаются по ссылке. То есть, если мы внутри функции будем менять переданный туда список, то он будет меняться и вне функции. Поэтому, если мы не хотим менять изначальный объект, то надо передавать копию объекта в функцию или мы должны знать, что условно список не будет изменяться внутри функции. Это относится к изменяемым типам.
С изменяемыми типами все проще. Если мы передадим инт или строку, то внутри функции мы не сможем их изменить.
все вопросы
#ps_question
❤3
Воскресная задачка. Сегодня не будем ещё начинать новый паттерн литкод задач. Закрепим то, что уже знаем ещё одной задачкой из топ 300 задач)
11. Replace Elements with Greatest Element on Right Side (легкая)
leetcode.com/problems/replace-elements-with-greatest-element-on-right-side
Получаем массив arr, замените каждый элемент в этом массиве самым большим элементом среди элементов справа от него, а последний элемент замените на -1.
После этого верните массив.
Пример 1:
Input: arr = [17,18,5,4,6,1]
Output: [18,6,6,6,1,-1]
Пример 2:
Input: arr = [400]
Output: [-1]
class Solution:
def replaceElements(self, arr: List[int]) -> List[int]:
«Ваше решение»
Ваша задача решить эту задачу на литкоде и успешно засабмитить
*разбор будет в комментариях в нескольких сообщениях, чтобы вы могли подумать над решением
*задачи среднего уровня, если показалась сложной, это вполне нормально
Список всех задач
#ps_leetcode
11. Replace Elements with Greatest Element on Right Side (легкая)
leetcode.com/problems/replace-elements-with-greatest-element-on-right-side
Получаем массив arr, замените каждый элемент в этом массиве самым большим элементом среди элементов справа от него, а последний элемент замените на -1.
После этого верните массив.
Пример 1:
Input: arr = [17,18,5,4,6,1]
Output: [18,6,6,6,1,-1]
Пример 2:
Input: arr = [400]
Output: [-1]
class Solution:
def replaceElements(self, arr: List[int]) -> List[int]:
«Ваше решение»
Ваша задача решить эту задачу на литкоде и успешно засабмитить
*разбор будет в комментариях в нескольких сообщениях, чтобы вы могли подумать над решением
*задачи среднего уровня, если показалась сложной, это вполне нормально
Список всех задач
#ps_leetcode
🔥4👍1
Всем привет! Расскажите, что вы уже использовали из перечисленного? (мультиселект)
Anonymous Poll
41%
venv
24%
docker
59%
pip
14%
poetry
38%
ничего из этого
7-ой вопрос:
Что такое генераторы и итераторы, в чем разница?
Ответ:
…пишите в комментариях, потом появится тут)
все вопросы
#ps_question
Что такое генераторы и итераторы, в чем разница?
Ответ:
…пишите в комментариях, потом появится тут)
все вопросы
#ps_question
Воскресная задачка.
12. Best Time to Buy and Sell Stock (легкая)
leetcode.com/problems/best-time-to-buy-and-sell-stock
На вход приходит prices, где prices[i] — цена данной акции на i-й день.
Необходимо максимизировать свою прибыль, выбрав один день для покупки одной акции и другой день в будущем для продажи этой акции.
Верните максимальную прибыль, которую вы можете получить от этой сделки. Если вы не можете получить никакой прибыли, верните 0.
Пример 1:
Input: prices = [7,1,5,3,6,4]
Output: 5
Пример 2:
Input: prices = [7,6,4,3,1]
Output: 0
class Solution:
def maxProfit(self, prices: List[int]) -> int:
«Ваше решение»
Ваша задача решить эту задачу на литкоде и успешно засабмитить
*разбор будет в комментариях в нескольких сообщениях, чтобы вы могли подумать над решением
*задачи среднего уровня, если показалась сложной, это вполне нормально
Список всех задач
#ps_leetcode
12. Best Time to Buy and Sell Stock (легкая)
leetcode.com/problems/best-time-to-buy-and-sell-stock
На вход приходит prices, где prices[i] — цена данной акции на i-й день.
Необходимо максимизировать свою прибыль, выбрав один день для покупки одной акции и другой день в будущем для продажи этой акции.
Верните максимальную прибыль, которую вы можете получить от этой сделки. Если вы не можете получить никакой прибыли, верните 0.
Пример 1:
Input: prices = [7,1,5,3,6,4]
Output: 5
Пример 2:
Input: prices = [7,6,4,3,1]
Output: 0
class Solution:
def maxProfit(self, prices: List[int]) -> int:
«Ваше решение»
Ваша задача решить эту задачу на литкоде и успешно засабмитить
*разбор будет в комментариях в нескольких сообщениях, чтобы вы могли подумать над решением
*задачи среднего уровня, если показалась сложной, это вполне нормально
Список всех задач
#ps_leetcode
👍4🔥1
Ходят слухи, что в ближайшие 5 лет в python окончательно избавятся от GIL. Один из киллер вопросов на собеседовании, подкосил не мало разработчиков. Интересно мы успеем до этого события его рассмотреть). Но переживать не стоит, т.к. скорее всего появятся новые вопросы)
🔥3
Прошлый вопрос ещё не достаточно настоялся, но надо двигаться дальше.
Этот вопрос будет предтечей для ещё парочки вопросов в будущем. Также он кажется слишком простым, но надо уметь вслепую набрать декоратор и знать, что это такое. Всегда спрашивают.
8-ой вопрос:
Что такое декоратор?
…
Напишите простой декоратор.
…
Напишите декоратор, который принимает параметры
…
все вопросы
#ps_question
Этот вопрос будет предтечей для ещё парочки вопросов в будущем. Также он кажется слишком простым, но надо уметь вслепую набрать декоратор и знать, что это такое. Всегда спрашивают.
8-ой вопрос:
Что такое декоратор?
…
Напишите простой декоратор.
…
Напишите декоратор, который принимает параметры
…
все вопросы
#ps_question
❤4
На этой неделе хотел разобрать сложную задачу, но думаю, что как подготовка, надо ещё решить среднюю, она как и предыдущая на two pointers и на последовательность значений на графике, но сложнее, хотя если вы решали предыдущие задачи, то она может показаться лёгкой)
13. Container With Most Water (средняя)
Условие - https://telegra.ph/13-Container-With-Most-Water-srednyaya-08-06
Литкод - leetcode.com/problems/container-with-most-water
Ваша задача решить эту задачу на литкоде и успешно засабмитить
*разбор будет в комментариях в нескольких сообщениях, чтобы вы могли подумать над решением
*задачи среднего уровня, если показалась сложной, это вполне нормально
Список всех задач
#ps_leetcode
13. Container With Most Water (средняя)
Условие - https://telegra.ph/13-Container-With-Most-Water-srednyaya-08-06
Литкод - leetcode.com/problems/container-with-most-water
Ваша задача решить эту задачу на литкоде и успешно засабмитить
*разбор будет в комментариях в нескольких сообщениях, чтобы вы могли подумать над решением
*задачи среднего уровня, если показалась сложной, это вполне нормально
Список всех задач
#ps_leetcode
👍4❤1
Всем привет, вчера было важное событие, мы решили 6 первых задач из тренировочного контеста Тинькофф, к концу недели выложу условия к вторым 6-ти задачам. Пока можно подтянуться, дорешав их с подсказками в комментариях https://t.me/python_simple/116
👍3
Теперь важный вопрос. Озон ближе к концу месяца набирает будущих программистов на обучение на 3 месяца с дальнейшей стажировкой. Минус, что обучение будет на go, Плюс, что знать надо на базовом уровне любой яп. Учить go-шке они будут во время обучения. Следующий минус - это то, что надо жить в Москве, Спб или Инноволис (Казань), чтобы ходить на очные занятия. Нагрузка 10-12 часов, но лучше закладывать 20. Плюс, что они отлично дают материал и готовят джунов для себя.
Теперь вопрос, надо ли делать подробный обзор на их стажировку и их контест. С учетом того, что я когда-то проходил их мидловскую школу по переходу на go.
Теперь вопрос, надо ли делать подробный обзор на их стажировку и их контест. С учетом того, что я когда-то проходил их мидловскую школу по переходу на go.
Надо ли разборать озоновскую стажировку?
Anonymous Poll
12%
Я не смогу посещать занятия очно, поэтому не буду пробовать
8%
Я не готов уже переходить на go, поэтому не интересно
24%
Интересно разобрать контес, я живу в мск, спб, кзн, интересно попробовать
40%
Просто интересно узнать про ещё один вариант стажировки
16%
Посмотреть ответы
Это не совсем вопрос с собеседования, я бы его приплюсовал к предыдущему про декораторы, но он тогда станет слишком большим. Но помнимание замыканий - важная тема в программировании вообще, не привязываясь к python-у.
9-ой вопрос:
Что такое замыкания?
Приведите пример замыкания в python.
все вопросы
#ps_question
9-ой вопрос:
Что такое замыкания?
Приведите пример замыкания в python.
все вопросы
#ps_question
Воскресная задача:
Многие компании в качестве средней задачи, но как правило она идет уже как тяжелая, любят давать задачу на интервалы. Тут могут быть вариации, например даны интервалы, найти пересечения или промежутки.
Также эта задача была в контесте для поступления в школу от озона route256. Причем там эта задача была не самой сложной, где-то выше середины в списке, но если ты решал её и все задачи, которые полегче, то этого было достаточно, чтобы набрать проходной балл. Я встречал эту задачу в ВК и Озоне. Но знаю, что и другие компании любят давать подобные задачи.
14. Merge Intervals (средняя)
leetcode.com/problems/merge-intervals/description
Дан массив интервалов , где intervals[i] = [starti, endi], объедините все пересекающиеся интервалы и верните их.
Пример 1:
Input: intervals = [[1,3],[2,6],[8,10],[15,18]]
Output: [[1,6],[8,10],[15,18]]
Пример 2:
Input: intervals = [[1,4],[4,5]]
Output: [[1,5]]
class Solution:
def merge(self, resp_intervals: List[List[int]]) -> List[List[int]]:
«Ваше решение»
Ваша задача решить эту задачу на литкоде и успешно засабмитить
*разбор будет в комментариях в нескольких сообщениях, чтобы вы могли подумать над решением
*задачи среднего уровня, если показалась сложной, это вполне нормально
Список всех задач
#ps_leetcode
Многие компании в качестве средней задачи, но как правило она идет уже как тяжелая, любят давать задачу на интервалы. Тут могут быть вариации, например даны интервалы, найти пересечения или промежутки.
Также эта задача была в контесте для поступления в школу от озона route256. Причем там эта задача была не самой сложной, где-то выше середины в списке, но если ты решал её и все задачи, которые полегче, то этого было достаточно, чтобы набрать проходной балл. Я встречал эту задачу в ВК и Озоне. Но знаю, что и другие компании любят давать подобные задачи.
14. Merge Intervals (средняя)
leetcode.com/problems/merge-intervals/description
Дан массив интервалов , где intervals[i] = [starti, endi], объедините все пересекающиеся интервалы и верните их.
Пример 1:
Input: intervals = [[1,3],[2,6],[8,10],[15,18]]
Output: [[1,6],[8,10],[15,18]]
Пример 2:
Input: intervals = [[1,4],[4,5]]
Output: [[1,5]]
class Solution:
def merge(self, resp_intervals: List[List[int]]) -> List[List[int]]:
«Ваше решение»
Ваша задача решить эту задачу на литкоде и успешно засабмитить
*разбор будет в комментариях в нескольких сообщениях, чтобы вы могли подумать над решением
*задачи среднего уровня, если показалась сложной, это вполне нормально
Список всех задач
#ps_leetcode
👍3🔥2❤1
Четверг - день вопросов. Сегодня будет вопрос для тех, кто начал учить наследование
10-ой вопрос:
Какие принципы ООП вы знаете? И как они работают на примере python.
все вопросы
#ps_question
10-ой вопрос:
Какие принципы ООП вы знаете? И как они работают на примере python.
все вопросы
#ps_question
Python Simple
В тему вопроса про декораторы. Пришло интересное решение на задание с декораторами, как будто все верно работает, но что тут не так и почему эта реализация не является корректной? (Задание: напишите декоратор, который каждый раз при вызове задекорированной…
Ответ в коде. В неправильном примере получалось, что есть только часть, которая выполняется 1 раз, но нет части, которая выполняется при каждом вызове.
Важно понимать, что и когда срабатывает в декораторе.
Важно понимать, что и когда срабатывает в декораторе.
👍5❤1
Воскресная задача:
15. Contains Duplicate II (легкая)
leetcode.com/problems/contains-duplicate-ii
Для массива целых чисел nums и целое число k, необходимо вернуть true, если в массиве есть два различных индекса i и j, таких что nums[i] == nums[j] и abs(i - j) <= k.
Пример 1:
Input: nums = [1,2,3,1], k = 3
Output: true
Пример 2:
Input: nums = [1,0,1,1], k = 1
Output: true
Пример 3:
Input: nums = [1,2,3,1,2,3], k = 2
Output: false
class Solution:
def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:
«Ваше решение»
Ваша задача решить эту задачу на литкоде и успешно засабмитить
*разбор будет в комментариях в нескольких сообщениях, чтобы вы могли подумать над решением
*задачи среднего уровня, если показалась сложной, это вполне нормально
Список всех задач
#ps_leetcode
15. Contains Duplicate II (легкая)
leetcode.com/problems/contains-duplicate-ii
Для массива целых чисел nums и целое число k, необходимо вернуть true, если в массиве есть два различных индекса i и j, таких что nums[i] == nums[j] и abs(i - j) <= k.
Пример 1:
Input: nums = [1,2,3,1], k = 3
Output: true
Пример 2:
Input: nums = [1,0,1,1], k = 1
Output: true
Пример 3:
Input: nums = [1,2,3,1,2,3], k = 2
Output: false
class Solution:
def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:
«Ваше решение»
Ваша задача решить эту задачу на литкоде и успешно засабмитить
*разбор будет в комментариях в нескольких сообщениях, чтобы вы могли подумать над решением
*задачи среднего уровня, если показалась сложной, это вполне нормально
Список всех задач
#ps_leetcode
❤3👍1
Всем привет!
Будем по чуть-чуть разбираться в подводных камнях python-а.
https://telegra.ph/Lishnee-allocirovanie-08-22
Будем по чуть-чуть разбираться в подводных камнях python-а.
https://telegra.ph/Lishnee-allocirovanie-08-22
Telegraph
Что не так?
Частенько при решении задач, когда нам надо хранить предыдущее значение, мы делаем так, какие вы видите минусы такой реализации?
❤4👍1