Найти все числа, исчезнувшие в массиве
Условие:
Дан массив
nums
, в которой числа из диапазона [1, n]
. Необходимо вывести числа из [1, n]
, которых нет в nums
.Пример 1:
Вход:
nums = [4,3,2,7,8,2,3,1].
Выход:
[5,6]
Пример 2:
Вход:
nums = [1,1]
Выход: [2]
Ограничения:
n == nums.length
1 <= n <= 105
1 <= nums[i] <= n
Код:
nums = [4, 3, 2, 7, 8, 2, 3, 1]
ch = [0] * len(nums)
for el in nums:
ch[el-1] += 1
net = []
for n in range(len(ch)):
if ch[n] == 0:
net.append(n+1)
print(net)
📌 Разбор задачи
Пишите ваши варианты решения в комментах👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Нужно найти максимальную длину подстроки из неповторяющихся элементов.
Оптимальный алгоритм O(n):
def max_subs_len(s):
seen = {}
max_length = 0
start = 0
for n, el in enumerate(s):
if el in seen:
start = max(start, seen[el] + 1)
seen[el] = n
max_length = max(max_length, n - start + 1)
return max_length
📌 Разбор решения
Пишите ваши варианты решения в комментах👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
⚽️ Задача: Где приземлится мяч
Сложность: Средняя
Условие задачи: Дан двумерный массив, определяющий короб, а также
Каждая ячейка данной коробки имеет диагональную перегородку, которая может перенаправлять движение мяча.
- Перегородка ячейки типа "левый верхний угол —> правый нижний угол" имеет представление 1.
- Перегородка ячейки типа "правый верхний угол —> левый нижний угол" имеет представление -1.
В каждом столбце сверху бросается ровно один мяч, а дорога из перегородок может уткнуть мяч либо в стену, либо дать спокойно выпасть снизу коробки.
Необходимо вернуть массив, который будет показывать добрался ли
Пример:
Ввод: grid = [[1,1,1,-1,-1],[1,1,1,-1,-1],[-1,-1,-1,1,1],[1,1,1,1,-1],[-1,-1,-1,-1,-1]]
Вывод: [1,-1,-1,-1,-1]
Объяснение: *во вложении
Ввод: grid = [[-1]]
Вывод: [-1]
Объяснение: мяч уткнется в левую стенку коробки
📌 Решение
Пишите свое решение в комментариях👇
@python_job_interview
Сложность: Средняя
Условие задачи: Дан двумерный массив, определяющий короб, а также
n-ое
количество мячей.Каждая ячейка данной коробки имеет диагональную перегородку, которая может перенаправлять движение мяча.
- Перегородка ячейки типа "левый верхний угол —> правый нижний угол" имеет представление 1.
- Перегородка ячейки типа "правый верхний угол —> левый нижний угол" имеет представление -1.
В каждом столбце сверху бросается ровно один мяч, а дорога из перегородок может уткнуть мяч либо в стену, либо дать спокойно выпасть снизу коробки.
Необходимо вернуть массив, который будет показывать добрался ли
i-ый
мяч до дна коробки (интерпретируется 1) или же уткнулся в стену (-1).Пример:
Ввод: grid = [[1,1,1,-1,-1],[1,1,1,-1,-1],[-1,-1,-1,1,1],[1,1,1,1,-1],[-1,-1,-1,-1,-1]]
Вывод: [1,-1,-1,-1,-1]
Объяснение: *во вложении
Ввод: grid = [[-1]]
Вывод: [-1]
Объяснение: мяч уткнется в левую стенку коробки
📌 Решение
Пишите свое решение в комментариях👇
@python_job_interview
Forwarded from Искусственный интеллект. Высокие технологии
Вышел GigaChat нового поколения. Разработчики @gigachat_bot качественно обновили его, изменив свой подход к обучению. Благодаря этому сервис стал лучше отвечать на запросы пользователей — примерно в два раза. При этом GigaChat также запустили в VK, аудитория сервиса уже достигла более 1 млн пользователей.
Попробовать.
@vistehno
Попробовать.
@vistehno
Условие: дано дерево (т.е. связный неориентированный граф, не имеющий циклов), состоящее из n узлов с числом от 0 до n - 1 и ровно n - 1 ребер. Корнем дерева является узел 0, и каждый узел дерева имеет метку, которая представляет собой символ нижнего регистра, указанный в строковых метках (т.е. узел с номером i имеет метку labels[i]).
Массив ребер задан на ребрах фермы[i] = [ai, bi], что означает наличие ребра между узлами ai и bi в дереве.
Возвращает массив размера n, где и[i] - количество узлов в поддереве узла земли, которые имеют ту же метку, что и узел i.
Поддерево дерева - это дерево, состоящее из узла в T и всех его дочерних узлов.
Пример:
Ввод: n = 7, edges = [[0,1],[0,2],[1,4],[1,5],[2,3],[2,6]], labels = "abaedcd"
Вывод: [2,1,1,1,1,1,1]
Объяснение:
Ввод: n = 4, edges = [[0,1],[1,2],[0,3]], labels = "bbbb"
Вывод: [4,2,1,1]
Решение задачи
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Условие: даётся замок, состоящий из четырёх вращающихся дисков, на каждом из которых имеется 10 цифр: от 0 до 9. При этом за раз можно перемещать только одно колесо и на одно значение.
Изначально замок находится на значении «0000».
На вход подаётся список блокирующих комбинаций, то есть таких четвёрок цифр, при которых открыть механизм не представляешься возможным.
Помимо этого даётся шифр открывающий замок, необходимо вычислить наименьшее число перемещений дисков механизма для открытия замка.
Пример:
Ввод:
deadends = ["0201","0101","0102","1212","2002"], target = "0202"
Вывод: 6Объяснение: последовательность, открывающая замок: "0000" -> "1000" -> "1100" -> "1200" -> "1201" -> "1202" -> "0202".
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Условие: даны две строки, необходимо выяснить являются они идентичными после удаления символов путем использования клавиши backspace (символ #).
Если строка пустая, то backspace оставляет её пустой.
Пример:
Ввод: s = "ab#c", t = "ad#c"
Вывод: true
Объяснение: обе строки после использования удаления символов образуют сроку "ac"
Ввод: s = "ab##", t = "c#d#"
Вывод: true
Ввод: s = "a#c", t = "b"
Вывод: false
📌 Решение задачи
Пишите свое решение в комментариях👇
@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
YouTube
Обучаем нейросеть распознавать объекты на фото. TensorFlow+ Streamlit
В этом видео мы обучим нейросеть на Python угадывать, что изображено на картинке при помощи TensorFlow и заворачиваем в приятный веб-интерфейс на Streamlit.
🔥 Telegram канал о нейросетях с к кучей фишек и кодом из видео:
https://yangx.top/ai_machinelearning_big_data…
🔥 Telegram канал о нейросетях с к кучей фишек и кодом из видео:
https://yangx.top/ai_machinelearning_big_data…
Условие: производится разработка нового программного продукта, и на последней проверке было выявлено, что версия ПО не прошла проверку качества. Каждая следующая версия зависит от предыдущей, то есть если текущая версия не проходит проверки, то все последующие также не годны для какого-либо обслуживания.
Предоставляется n - версий, нумерованных с единицы, необходимо найти первую неисправную версию ПО.
Также дается интерфейс bool isBadVersion(version), который производит проверку на то, является ли проверяемая версия неисправной. Решить задачу необходимо за минимальное количество вызовов чекера.
Пример:
Ввод: n = 5, bad = 4
Вывод: 4
Объяснение:
call isBadVersion(3) -> false
call isBadVersion(5) -> true
call isBadVersion(4) -> true
4 - первая испорченная версия.
Решение
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Условие задачи: дана строка, необходимо найти в ней палиндром наибольшей длины.
Палиндром - строка, которая одинаково читается как справа-налево, так и слева-направо.
Пример:
Ввод: s = "babad"
Вывод: "bab"
Объяснение: "aba" также является ответом
Ввод: s = "cbbd"
Вывод: "bb"
Решение
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
📌 Видео
📌Код
📌Python собеседования плейлист
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Задача с реального Python собеседования middle разработчика. Рекурсивная сумма.
Разбираем реальную задачу на позицию middle Python-разработчика.
Пишем несколько реализаций от самой простой до более сложной асинхронной.
Разбираем массу важнейших понятий: переполнение стека, область видимости переменной, глубина рекурсии, итерируемость…
Пишем несколько реализаций от самой простой до более сложной асинхронной.
Разбираем массу важнейших понятий: переполнение стека, область видимости переменной, глубина рекурсии, итерируемость…
Удаление дубликатов из отсортированного связного списка
Сложность: Средняя
Условие задачи: Дан указатель на начало отсортированного связного списка, необходимо удалить все дублируемые значения в списке. Надо вернуть связный список, также отсортированный.
Пример:
Ввод:
Вывод:
Ввод:
Вывод:
Решение задачи
Пишите свое решение в комментариях👇
@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