Задача с реального Python собеседования middle разработчика. Рекурсивная сумма. - https://www.youtube.com/watch?v=euoN2zO7zao&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=1&t=2s&pp=iAQB
Разбор задачи с собеседования Data Science. Подготовка на практике - https://www.youtube.com/watch?v=iLzA0H0Ao6o&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=6&t=946s&pp=iAQB
Устраиваемся на работу. Решаем тестовое задание на позицию Python Junior - https://www.youtube.com/watch?v=_-xenbYkazA&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=9&t=18s&pp=iAQB
Совет Python разработчикам - реши задачу Chain sum с реального собеседования - https://www.youtube.com/watch?v=edJSJWEDS0Y&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=10&pp=iAQB
Эти фишки сделают твой Python код лучше - https://www.youtube.com/watch?v=dOD1591Bp_o
Хитрая задача с собеседования #Python - https://www.youtube.com/watch?v=qzbmxG7sYa4&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=2
Решение непростой задачи с Leetcode, часто всплывает на собеседования #pythontutorial - https://www.youtube.com/watch?v=2tqieMDTA4w&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=3
Задача, которая очень часто встречается на собеседованиях #python - https://www.youtube.com/watch?v=VWEFo37RP44&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=4
Cобеседование #Python топовый банк Goldman Sachs Associate на 12000 $ - https://www.youtube.com/watch?v=U2MWw6f-bKc&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=5
Facebook задача с собеседования на #Python на 120000 рублей -
https://www.youtube.com/watch?v=3g3kx08C0uE&list=PLysMDSbb9Hcyxwq966ET1_6dXkNF_PW0L&index=8
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Задача с реального Python собеседования middle разработчика. Рекурсивная сумма.
Разбираем реальную задачу на позицию middle Python-разработчика.
Пишем несколько реализаций от самой простой до более сложной асинхронной.
Разбираем массу важнейших понятий: переполнение стека, область видимости переменной, глубина рекурсии, итерируемость…
Пишем несколько реализаций от самой простой до более сложной асинхронной.
Разбираем массу важнейших понятий: переполнение стека, область видимости переменной, глубина рекурсии, итерируемость…
Условие: дается целое число, нужно переконвертировать данное число в сумму, слагаемых должно быть не менее двух. А само разложение должно осуществляться таким образом, что произведение слагаемых будет максимальным.
В результате необходимо получить это самое произведение.
Пример:
Ввод: n = 2
Вывод: 1
Объяснение: 2 = 1 + 1, 1 × 1 = 1.
Ввод: n = 10
Вывод: 36
Объяснение: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36.
📌 Решение
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Сложность: Medium
Условие задачи: Дан целочисленный массив в порядке не убывания (это практически "в порядке возрастания", но данный термин предполагает что некоторые значения могут быть равны), необходимо найти первую и последнюю позиции целевого элемента, который надо отыскать.
Если целевого элемента нет в массиве, то надо вывести [-1; 1].
Алгоритм должен быть не медленнее, чем
O(log n
) по времени.Пример:
Ввод: nums = [5,7,7,8,8,10], target = 8
Вывод: [3,4]
Объяснение:
Ввод: nums = [5,7,7,8,8,10], target = 6
Вывод: [-1,-1]
📌 Решение
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Итератор бинарного дерева
Сложность: Средняя
Условие задачи: Вам нужно реализовать класс
Класс должен содержать в себе следующие методы:
- boolean hasNext(). Возвращает true в случае если существует потомок у правого поддерева. В ином случае возвращает false;
- int next(). Перемещает указатель в правую ветвь, возвращая число в указателе.
При инициализации указатель на несуществующий наименьший элемент, вызывая метод next(), будет возвращать наименьший элемент бинарного дерева.
Пример:
Ввод:
Вывод:
Объяснение:
Пишите свое решение в комментариях👇
@python_job_interview
Сложность: Средняя
Условие задачи: Вам нужно реализовать класс
BSTIterator
, представляющий из себя итератор вдоль бинарного дерева, сцепленного по правилу: левый потомок, корень, правый потомок. Класс должен содержать в себе следующие методы:
- BSTIterator(TreeNode root)
. Данный метод инициализирует объект класса. root передаются в конструктор в качестве входного аргумента. Указатель должен быть инициализирован несуществующим числом, которое меньше любого из элементов бинарного дерева;- boolean hasNext(). Возвращает true в случае если существует потомок у правого поддерева. В ином случае возвращает false;
- int next(). Перемещает указатель в правую ветвь, возвращая число в указателе.
При инициализации указатель на несуществующий наименьший элемент, вызывая метод next(), будет возвращать наименьший элемент бинарного дерева.
Пример:
Ввод:
["BSTIterator", "next", "next", "hasNext", "next", "hasNext", "next", "hasNext", "next", "hasNext"]
[[[7, 3, 15, null, null, 9, 20]], [], [], [], [], [], [], [], [], []]
Вывод:
[null, 3, 7, true, 9, true, 15, true, 20, false]
Объяснение:
BSTIterator bSTIterator = new BSTIterator([7, 3, 15, null, null, 9, 20]);
bSTIterator.next(); // return 3
bSTIterator.next(); // return 7
bSTIterator.hasNext(); // return True
bSTIterator.next(); // return 9
bSTIterator.hasNext(); // return True
bSTIterator.next(); // return 15
bSTIterator.hasNext(); // return True
bSTIterator.next(); // return 20
bSTIterator.hasNext(); // return False
🔗
РешениеПишите свое решение в комментариях👇
@python_job_interview
Сложность: Средняя
Условие задачи: На входе имеем список возможных кандидатов и целевое значение суммы, необходимо вывести все комбинации, которыми можно получить целевое значение.
Каждое число из списка кандидатов должно содержаться в конечном подсписке из ответов ровно один раз.
Результирующий ответ не должен содержать в себе дубликатов.
Пример:
Ввод:
candidates = [10,1,2,7,6,1,5], target = 8
Вывод:
[
[1,1,6],
[1,2,5],
[1,7],
[2,6]
]
Ввод:
candidates = [2,5,2,1,2], target = 5
Вывод:
[
[1,2,2],
[5]
]
Пишите свое решение в комментариях👇
🔗 Решение
Please open Telegram to view this post
VIEW IN TELEGRAM
Сложность: Средняя
Условие задачи: Дан массив, необходимо вычислить наибольшую длину строго возрастающей подпоследовательности.
Пример:
Ввод:
nums = [10,9,2,5,3,7,101,18]
Вывод: 4Объяснение: подпоследовательность [2,3,7,101] имеет наибольшую длину.
Решение
Пишите свое решение в комментариях👇
Please open Telegram to view this post
VIEW IN TELEGRAM
На codeabbey, вы можете не только оттачивать навыки разработчика, решая задачи разного уровня, но и повысить свой уровень программирования.
На ресурсе есть возможность выиграть сертификаты, подтверждающие ваш уровень. Сборник включает в себя почти 300 задач по различным темам.
https://www.codeabbey.com/
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
💡Задача: Идеальное число
Условие: идеальное число - это положительное целое число, которое равно сумме делителей этого же числа, за исключением самого числа.
Необходимо проверить входное число на идеальность.
Пример:
Ввод: num = 28
Вывод: true
Объяснение: 28 = 1 + 2 + 4 + 7 + 14
Ввод: num = 7
Вывод: false
Решение
Пишите свое решение в комментариях👇
@python_job_interview
Условие: идеальное число - это положительное целое число, которое равно сумме делителей этого же числа, за исключением самого числа.
Необходимо проверить входное число на идеальность.
Пример:
Ввод: num = 28
Вывод: true
Объяснение: 28 = 1 + 2 + 4 + 7 + 14
Ввод: num = 7
Вывод: false
Решение
Пишите свое решение в комментариях👇
@python_job_interview
Часть1
Часть2
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
https://uproger.com/bolee-100-voprosov-s-sobesedovaniya-python-razbor-realnyh-voprosov/
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Даны два массива, каждый элемент в котором представлен отрезком, значения которого соответствуют соответственно началу и концу.
Необходимо вывести результирующий массив, внутри которого будут представлены отрезки пересечения двух исходных массивов.
Пример:
Ввод: firstList = [[0,2],[5,10],[13,23],[24,25]], secondList = [[1,5],[8,12],[15,24],[25,26]]
Вывод: [[1,2],[5,5],[8,10],[15,23],[24,24],[25,25]]
Ввод: firstList = [[1,3],[5,9]], secondList = []
Вывод: [ ]
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Условие: дается массив из строк, необходимо вернуть те строки из массива, которые могут быть набраны лишь при использовании знаков из одного ряда.
Пример:
Ввод: words = ["Hello","Alaska","Dad","Peace"]
Вывод: ["Alaska","Dad"]
Объяснение:
Ввод: words = ["omk"]
Вывод: [ ]
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Условие: дается массив, в котором содержатся на температуры за определенный день. Необходимо вернуть массив, такой что будет содержать на i-ой позиции количество дней, которое необходимо выждать, чтобы наступил день теплее. Если такой ситуации не случается, то на i-ой позиции установить 0.
Пример:
Ввод: temperatures = [73,74,75,71,69,72,76,73]
Вывод: [1,1,4,2,1,1,0,0]
Ввод: temperatures = [30,40,50,60]
Вывод: [1,1,1,0]
Решение
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Сложность: Лёгкая
Условие задачи: Дан корень двоичного дерева, верните сумму наклона каждого узла дерева.
Наклон узла дерева - это абсолютная разница между суммой всех значений узла левого поддерева и всех значений узла правого поддерева. Если узел не имеет левого дочернего элемента, то сумма значений узла левого поддерева обрабатывается как 0. Правило аналогично, если у узла нет правого дочернего элемента.
Пример:
Ввод:
root = [1,2,3]
Вывод: 1
Ввод:
root = [4,2,9,3,5,null,7]
Вывод: 15
📌 Решение задачи
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Habr: https://habr.com/ru/articles/783766/
Видео: https://www.youtube.com/watch?v=6Pk4OgdNxXQ
Please open Telegram to view this post
VIEW IN TELEGRAM
Условие: дается n-сумок, пронумерованных с нуля. Дается также два массива, проиндексированных аналогичным образом: capacity и rocks. i-а сумка может вмещать capacity[i] камней и в текущий момент содержит уже rocks[i] каменей. Помимо этого дается еще additionalRocks, число камней, которые можно добавить в произвольную сумку.
Необходимо вычислить максимальное количество сумок, которое получится при ситуации, когда все дополнительные камни размещены.
Пример:
Ввод: capacity = [2,3,4,5], rocks = [1,2,4,4], additionalRocks = 2
Вывод: 3
Ввод: capacity = [10,2,2], rocks = [2,2,0], additionalRocks = 100
Вывод: 3
Решение
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Сложность: Низкая
Условие : на вход подается номер столбца, необходимо конвертировать его в буквенное представление, которое будет использоваться в таблице-Excel.
Пример:
Ввод:
columnNumber
= 1Вывод: "
A
"Ввод:
columnNumber
= 28Вывод: "
AB
"▪Решение
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
▪ Читать
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Условие: Дано дерево (т.е. связанный неориентированный граф, не имеющий циклов) с корнем в узле 0, состоящее из n узлов, пронумерованных от 0 до n - 1. Дерево представлено родительским массивом с индексом 0 размера n, где родительский элемент[i] является родительским элементом узла i. Поскольку узел 0 является корневым, родительский элемент[0] == -1.
Вам также выдаются строки длиной n, где s[i] - символ, присвоенный узлу i.
Возвращает длину самого длинного пути в дереве таким образом, чтобы ни одной паре соседних узлов пути не был присвоен один и тот же символ.
Пример:
Ввод: parent = [-1,0,0,1,1,2], s = "abacbe"
Вывод: 3
Ввод: parent = [-1,0,0,0], s = "aabc"
Вывод: 3
Решение
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM