Лучший Python телеграм канал для новичков. Цель: подготовка студентов, начинающих питонистов к нахождению первой работы.
def lexicalOrder(n: int) -> list[int]:
return [int(i) for i in sorted(str(i) for i in range(1, n + 1))]
#pythonзадача #coбесlexicalOrder(), которая принимает на вход целое число n, а возвращает список чисел в диапазоне от 1 до n, отсортированный в лексикографическом порядке. Программа должна работать за линейное время (O(n)), а расход пямяти O(1).
Приверы работы данной функции:
lexicalOrder(13) --> [1, 10, 11, 12, 13, 2, 3, 4, 5, 6, 7, 8, 9]
lexicalOrder(2) --> [1, 2]
Присылайте ваше решения в комментарии к этому посту. Решение - сегодня вечером.
#pythonзадача #coбесfrom collections import Counter
def canConstruct(s, t):
char_count_s = Counter(s)
char_count_t = Counter(t)
for char, count in char_count_s.items():
if count > char_count_t[char]:
return False
return True
Подумайте, как эту задачу можно решить без использования библиотеки collections.
#pythonзадача #coбесcanConstruct(), которая принимает две строки, s и t. Данная функция должна возвращать True, если первую строку s можно составить из букв, которые входят во вторую строку t. Причем каждую букву из строки t можно использовать только один раз.
Примеры работы данной функции:
canConstruct("aa", "ab") --> False
canConstruct("aa", "aab") --> True
Присылайте ваше решения в комментарии к этому посту. Решение - сегодня вечером.
#pythonзадача #coбесdef getSum(a, b):
while b != 0:
carry = a & b
a = a ^ b
b = carry << 1
return a
Данное решение не работает с отрицательными числами (по условиям задачи этого и не требовалось). Подумайте, как это можно исправить.
#pythonзадача #coбесgetSum(), которая принимает два целых неотрицательных числа a и b, а возвращает их сумму. При этом пользоваться операторами + и - запрещается.
Примеры работы данной функции:
getSum(42, 5) --> 47
getSum(3, 7) --> 10
getSum(4, 0) --> 4
Присылайте ваше решения в комментарии к этому посту. Решение - сегодня вечером.
#pythonзадача #coбесdef isPerfectSquare(num):
if num < 1:
return False
left, right = 1, num
while left <= right:
mid = left + (right - left) // 2
square = mid * mid
if square == num:
return True
elif square < num:
left = mid + 1
else:
right = mid - 1
return False
#pythonзадача #coбесisPerfectSquare(), которая определяет, является ли число поданное в качестве аргумента, полным квадратом другого числа. В это случае функция должна возвращать True, в противном случае False. Пользоваться встроенными функциями типа sqrt(), pow(), **0.5 запрещается.
Примры работы данной функции:
isPerfectSquare(16) --> True
isPerfectSquare(20) --> False
isPerfectSquare(121) --> True
Присылайте ваше решения в комментарии к этому посту. Решение - сегодня вечером.
#pythonзадача #coбес