Skip to content

Instantly share code, notes, and snippets.

View temirlanKabylbekov's full-sized avatar

Temirlan Kabylbekov temirlanKabylbekov

View GitHub Profile
@temirlanKabylbekov
temirlanKabylbekov / main.py
Created June 10, 2020 12:59
Даны два списка, нужно вернуть элементы, которые есть в 1-ом списке, но нет во 2-ом. Оценить эффективность своего решения.
def symmetric_difference(lst1: list, lst2: list) -> list:
"""Возвращает элементы, которые есть в первом списке, но нет в обоих.
Скорость работы и используемая дополнительная память - линейна.
>>> symmetric_difference([], [])
[]
>>> symmetric_difference([], [1, 2])
[]
>>> symmetric_difference([1, 2, 3], [])
@temirlanKabylbekov
temirlanKabylbekov / main.py
Created June 10, 2020 13:36
Дан массив целых чисел. Нужно удалить из него нули. Можно использовать только О(1) дополнительной памяти
def remove_zeroes(lst: list) -> list:
"""Удаление нулей из списка с сохранением относительного порядка элементов.
Скорость работы - линейна.
Дополнительная память не используется.
>>> remove_zeroes([])
[]
>>> remove_zeroes([0])
[]
@temirlanKabylbekov
temirlanKabylbekov / sorting_algos.py
Last active March 13, 2021 06:20
Алгоритмы сортировок
# coding: utf8
def selection_sort(arr):
for idx in range(len(arr)):
min_idx = idx
for jdx in range(idx + 1, len(arr)):
if arr[min_idx] > arr[jdx]:
min_idx = jdx
arr[idx], arr[min_idx] = arr[min_idx], arr[idx]