Удаление дубликатов из отсортированного связного списка
Сложность: Средняя
Условие задачи: Дан указатель на начало отсортированного связного списка, необходимо удалить все дублируемые значения в списке. Надо вернуть связный список, также отсортированный.
Пример:
Ввод:
Вывод:
Ввод:
Вывод:
Решение задачи
Пишите свое решение в комментариях👇
@python_job_interview
Сложность: Средняя
Условие задачи: Дан указатель на начало отсортированного связного списка, необходимо удалить все дублируемые значения в списке. Надо вернуть связный список, также отсортированный.
Пример:
Ввод:
head = [1,2,3,3,4,4,5]
Вывод:
[1,2,5]
Ввод:
head = [1,1,1,2,3]
Вывод:
[2,3]
Решение задачи
Пишите свое решение в комментариях👇
@python_job_interview
https://www.youtube.com/watch?v=edJSJWEDS0Y
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Совет Python разработчикам - реши задачу Chain sum с реального собеседования.
Разбор необычной задачи с собеседования и её решение через функции и классы.
+ решение более усложнённых версий задания
🔥 Telegram канал о нейросетях с к кучей фишек и кодом из видео:
https://yangx.top/ai_machinelearning_big_data
📌 Python - https://yangx.top/pythonl…
+ решение более усложнённых версий задания
🔥 Telegram канал о нейросетях с к кучей фишек и кодом из видео:
https://yangx.top/ai_machinelearning_big_data
📌 Python - https://yangx.top/pythonl…
Условие: дается целочисленный массив nums, состоящий из n элементов и целого числа k.
Найдите непрерывный подмассив, длина которого равна k, который имеет максимальное среднее значение, и верните это значение. Будет принят любой ответ с ошибкой вычисления менее 10-5.
Пример:
Ввод: nums = [1,12,-5,-6,50,3], k = 4
Вывод: 12.75000
Объяснение:
Ввод: nums = [5], k = 1
Вывод: 5.00000
Решение
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Условие: дана 2-мерная матрица чисел, в которой числа упорядочены по возрастанию сверху-вниз и слева-направо. Надо определить, есть ли в матрице целевое значение.
Пример:
Ввод:
matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
Вывод:
True
Ввод:
matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
Вывод:
Fasle
Решение
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Задача с реального 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