Python Community
12.9K subscribers
1.26K photos
37 videos
15 files
740 links
Python Community RU - СНГ сообщество Python-разработчиков

Чат канала: @python_community_chat

Сотрудничество: @cyberJohnny и @Sergey_bzd

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Задачка с собеседования | #Easy, #Hard

Условие:

Ваша задача — написать функцию, которая переворачивает список на k шагов. Она ничего не возвращает, а лишь изменяет полученный список.
k — всегда позитивное число, а размер списка всегда больше нуля.

Задача кажется простой, но её основная сложность, что необходимо найти максимально быстрый способ решения задачи. Поэтому тут 2 тега :)

Пример
:

rotate([1,2,3,4,5,6,7], 3) -> [5,6,7,1,2,3,4]
rotate([-1,-100,3,99], 2) -> [3,99,-1,-100]

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования
⚡️ Задачка с собеседования | #Medium, #Hard

Условие:

Ваша задача — написать функцию, которая принимает два аргумента: список и число. Ваша задача — самым быстрым путём найти в списке 2 числа, которые в сумме будут вторым аргументом. Функция возвращает список с индексами этих цифр.

Входные данные всегда будут правильные, всегда будет только одно решение.

Пример:

two_sum([2, 7, 11, 15], 9) -> [0, 1]
two_sum([3, 2, 4], 6) -> [1, 2]
two_sum([0, 4, 3, 0], 0) -> [0, 3]

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования
⚡️ Задачка с собеседования | #Medium, #Hard

Условие:

Ваша задача — написать функцию, которая перемещает все нули в конец списка. Функция принимает список с набором цифр, а ваша задача — изменить его так, что бы нули оказались в конце списка. Она ничего не возвращает, а лишь меняет полученный список. Порядок ненулевых чисел должен сохранится.

Сложность задачи заключается в том, что бы придумать самое быстрое решение.

Пример:

move_zeroes([0, 1, 0, 3, 12]) -> [1, 3, 12, 0, 0]
move_zeroes([0]) -> [0]
move_zeroes([1, 0, 3, 0, 0, 0, 5]) -> [1, 3, 5, 0, 0, 0, 0]

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования
⚡️ Задачка с собеседования | #Medium, #Hard

Условие:

Ваша задача — написать функцию, которая будет проверять, является ли предложение палиндромом. Палиндромом — предложение, которое читается одинаков слева на право и с права на лево.

Пример:

is_palindrome('A man, a plan, a canal: Panama') -> True
is_palindrome('0P') -> False
is_palindrome('a.') -> True

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования
⚡️ Задачка с собеседования | #Hard

Условие:

Вам необходимо проверить, в правильном ли порядке расставлены {}, (), [], <>. Вместе с ними может идти и другой текст, поэтому вам стоит заняться фильтрацией строки.

Примеры:

valid_bracket("(some_data)")
valid_bracket("() [ww]1{}<>")
valid_bracket("< [ ( { })]>")
valid_bracket("(]")
valid_bracket("([9)]")

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования
⚡️ Задачка с собеседования | #Hard

Условие:

В этот раз вам необходимо создать код, который из списка с целыми числами создаёт все возможные подмножества. Важно, что бы подмножества не повторялись.

Примеры:

subsets([1, 2, 2]) -> [[], [1], [2], [1, 2], [2, 2], [1, 2, 2]]
subsets([1, 2, 3]) -> [[], [1], [2], [1, 2], [3], [1, 3], [2, 3], [1, 2, 3]]
subsets([0]) -> [[], [0]]

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования
⚡️ Задачка с собеседования | #Hard

Условие:

Вам нужно написать функцию, которая рассчитывает время, нужное всем покупателям, чтобы купить свои товары. На вход идёт список с целыми числами. Каждый элемент — покупатель, а значение — время, необходимое для оформления заказа. Также функция принимает количество работающих касс. Возвращает функция целое число — всё необходимое время для оформления заказов всех покупателей.

Первый человек в очереди (то есть первый элемент в массиве или списке) переходит к кассе, как только она становится свободной.

Примеры:

queue_time([5, 3, 4], 1) -> 12
# работает одна касса, общее время — сумма списка
queue_time([10, 2, 3, 3], 2) -> 10
# На первой кассе пройдёт первый человек (10), а на второй — 2й, 3й, 4й (2 + 3 + 3 = 9). Общее время — 10
queue_time([2, 3, 10], 2) -> 12
# На первую кассу пойдёт 1й человек, 2й — на вторую, 3й — на первую

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования