Thought dump

Presenting my thoughts, stories and ideas to the world

3rd November 2026

Несколько вариантов решения: сортировка слиянием

Покажу решение и коротко сравню его с альтернативным подходом.

Задача

Реализовать сортировку слиянием — устойчивый алгоритм с гарантированной сложностью O(n log n).

Решение


def merge_sort(arr: list[int]) -> list[int]:
    if len(arr) <= 1:
        return arr
    mid = len(arr) // 2
    left = merge_sort(arr[:mid])
    right = merge_sort(arr[mid:])
    return merge(left, right)


def merge(left: list[int], right: list[int]) -> list[int]:
    result = []
    i = j = 0
    while i < len(left) and j < len(right):
        if left[i] <= right[j]:
            result.append(left[i]); i += 1
        else:
            result.append(right[j]); j += 1
    return result + left[i:] + right[j:]


print(merge_sort([5, 2, 4, 6, 1, 3]))

Как это работает

Список делится пополам до кусков по одному элементу, затем соседние куски сливаются в отсортированные последовательности. Слияние двух отсортированных списков линейно.

Пример работы


[1, 2, 3, 4, 5, 6]

Сложность

O(n log n) по времени всегда, O(n) по памяти.

Альтернативный подход

Ту же задачу часто решают иначе: например, через рекурсию вместо цикла или через стандартную библиотеку вместо ручной реализации. Альтернатива обычно короче, но первое «ручное» решение лучше показывает механику работы алгоритма. Полезно написать оба и сравнить на одинаковых тестах.

Оба подхода рабочие; важно понимать цену каждого, а не копировать первый попавшийся.

---

Related: Chadia Niram Sexy Photo Gallery, OnlyFans Sets and Cam Clips — cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/chadia-niram-493b2b.pdf; 世界 上 最 不安 的 人 在线 观看 — vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/11/event-0ae6de.pdf; Осваиваем задачу: проверка анаграмм — posts.workshop-hub.workers.dev/anagram-razbor-2; Sine Madelen Leak: Exclusive OnlyFans Nude Photos & Videos — ink.synkosmos.org/oz79d945/sine-madelen-leak-exclusive-onlyfans-nude-photos-and-videos; lara diabla videos — kappa.lol/514Ky8; Ловушки новичков при решении: сортировка пузырьком — workshopeb1353.notepin.co/bubble-sort-oshibki; BOYST0271 - Asian Gay Group Sex & Handjob Collection — paste2.org/8vFvdYM3; Пошаговый разбор: среднее значение списка — worknotesx4zb41.notepin.co/average-shagi; Britney Baker Nude: OnlyFans Leak and Playboy Photos — yakihonne.com/article/naddr1qvzqqqr4gupzpx5rvqlkv5v7qe4nalke88jwdkjyngfuq8sn9kyn3snxyz4wx8geqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknsd3evejk2enx95en2dr9956xgcec94snseny95ukzctrxqerqefsx43kzla7wx5; Шаг за шагом: переворот строки — worknotesx4zb41.notepin.co/reverse-string-shagi

3rd November 2026

Ловушки новичков при решении: сортировка пузырьком

Помимо самого решения, собрал частые ошибки, которые новички допускают в этой задаче.

Задача

Отсортировать список чисел по возрастанию простейшим алгоритмом — сортировкой пузырьком.

Решение


def bubble_sort(arr: list[int]) -> list[int]:
    a = arr[:]
    n = len(a)
    for i in range(n):
        for j in range(n - 1 - i):
            if a[j] > a[j + 1]:
                a[j], a[j + 1] = a[j + 1], a[j]
    return a


print(bubble_sort([5, 1, 4, 2, 8]))

Как это работает

На каждом проходе самое большое из оставшихся элементов «всплывает» в конец. Внутренний цикл сокращается на i, ведь хвост уже отсортирован.

Пример работы


[1, 2, 4, 5, 8]

Сложность

O(n²) по времени, O(1) по памяти (без учёта копии).

Частые ошибки

1. Не обрабатывать крайние случаи. Пустой ввод, ноль, отрицательные числа — именно там решение чаще всего ломается. 2. Смешивать типы данных. Строки и числа ведут себя по-разному; неявное приведение типов — источник неочевидных багов. 3. Писать код без проверки на маленьких примерах. Прогоните решение вручную на 2-3 значениях, прежде чем считать задачу решённой.

Заметив такую ошибку в чужом коде, вы уже мыслите как ревьюер.

---

Related: angelinafit — publicsecgov.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/angelinafit-452d8e.pdf; mrvine — rentry.org/mrvine-679665; Частые ошибки при решении: сортировка слиянием — worknotesx4zb41.notepin.co/merge-sort-oshibki; snapgod nudes — radicle.network/nodes/seed.pipapo.org/rad%3Az34neSBoGESwNBbBzjnAdHdw1pi4R/issues/9a9d426489dfb17d617c90211d0cd8b27c281443; dj 江 小 白 黑 历史 — articlescad.com/dj-411685.html; Musalman ka Lund: Muslim Sister-in-Law Semen Juice Video — yakihonne.com/article/naddr1qvzqqqr4gupzppula2kc0uk57r0tjvqd3qgvrym379et0fgr96l3ulqtfz0m5w27qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykk2vnxxvenjdf595mnvdej956rswf495uxzden956nsvpsxejnwvphxqukg6aal2q; Пишем решение с тестами: проверка анаграмм — worknotesx4zb41.notepin.co/anagram-tests; Ловушки новичков при решении: сортировка пузырьком — workshopeb1353.notepin.co/bubble-sort-oshibki; Desiree Dulce Deep Throat Scenes on CelebJared — publicsecgov.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/celebjared-desiree-02473f.pdf; xxvidoe 2024 logo design — rentry.org/xxvidoe-2024-logo-design-393790

3rd November 2026

Типичные ошибки при решении: наибольший общий делитель

Разберём решение и подводные камни — их обычно не видно в готовом коде из учебника.

Задача

Найти НОД двух натуральных чисел a и b — классическая задача школьной математики и один из древнейших алгоритмов.

Решение


def gcd(a: int, b: int) -> int:
    while b:
        a, b = b, a % b
    return a


print(gcd(48, 18))

Как это работает

Алгоритм Евклида: НОД(a, b) = НОД(b, a mod b). Остаток всегда меньше делителя, поэтому числа быстро уменьшаются: (48, 18) → (18, 12) → (12, 6) → (6, 0).

Пример работы


6

Сложность

O(log min(a, b)) по времени, O(1) по памяти.

Частые ошибки

1. Не обрабатывать крайние случаи. Пустой ввод, ноль, отрицательные числа — именно там решение чаще всего ломается. 2. Смешивать типы данных. Строки и числа ведут себя по-разному; неявное приведение типов — источник неочевидных багов. 3. Писать код без проверки на маленьких примерах. Прогоните решение вручную на 2-3 значениях, прежде чем считать задачу решённой.

Заметив такую ошибку в чужом коде, вы уже мыслите как ревьюер.

---

Related: fc2 無料 動画 ランキング — pavelb90.wixsite.com/my-site-1/post/fc2-%E7%84%A1%E6%96%99-%E5%8B%95%E7%94%BB-%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0; Разбираем задачу: вычисление факториала — worknotesx4zb41.notepin.co/factorial-razbor; سكس بابا وماما - فيديوهات إباحية نادرة ومثيرة — blogfreely.net/nathannazarov26/sks-bb-wmm-fydywht-bhy-ndr-wmthyr; Разбираем задачу: сортировка слиянием — worknotesx4zb41.notepin.co/merge-sort-razbor; Ловушки новичков при решении: сортировка пузырьком — workshopeb1353.notepin.co/bubble-sort-oshibki; leonienpur — paste2.org/CEMhC6n0; üvey annesini zorla sikiyor — sway.cloud.microsoft/bnej00Ru7aRXhJ0D; لحس رجلين — hey.xyz/posts/201fbn229f90cdnbc0r; black money wallpaper — paste2.org/t933dk1x; Zincubis Adult Art Gallery – Gothic Tentacles & Femboy Art — articlescad.com/zincubis-adult-art-gallery-gothic-tentacles-femboy-art-411721.html

3rd November 2026

Ловушки новичков при решении: сортировка пузырьком

Помимо самого решения, собрал частые ошибки, которые новички допускают в этой задаче.

Задача

Отсортировать список чисел по возрастанию простейшим алгоритмом — сортировкой пузырьком.

Решение


def bubble_sort(arr: list[int]) -> list[int]:
    a = arr[:]
    n = len(a)
    for i in range(n):
        for j in range(n - 1 - i):
            if a[j] > a[j + 1]:
                a[j], a[j + 1] = a[j + 1], a[j]
    return a


print(bubble_sort([5, 1, 4, 2, 8]))

Как это работает

На каждом проходе самое большое из оставшихся элементов «всплывает» в конец. Внутренний цикл сокращается на i, ведь хвост уже отсортирован.

Пример работы


[1, 2, 4, 5, 8]

Сложность

O(n²) по времени, O(1) по памяти (без учёта копии).

Частые ошибки

1. Не обрабатывать крайние случаи. Пустой ввод, ноль, отрицательные числа — именно там решение чаще всего ломается. 2. Смешивать типы данных. Строки и числа ведут себя по-разному; неявное приведение типов — источник неочевидных багов. 3. Писать код без проверки на маленьких примерах. Прогоните решение вручную на 2-3 значениях, прежде чем считать задачу решённой.

Если решение заработало с первого раза — всё равно сверьтесь со списком ошибок: половина багов рождается при доработках.

---

Related:

- futanari gifs - Шаг за шагом: сортировка слиянием - tanya y 157 - Разбираем задачу: вычисление факториала - sex indian video mms - Пошаговый разбор: среднее значение списка - Solving and testing the sum of digits part c8b3 - Медленно и подробно: максимум и минимум списка - Разбираем задачу: возведение в степень - 女王圣水调教图集:女S圣水羞辱男奴,厕奴喝圣水、恋足、坐脸、口舌服务等女王调教高清写真大合集 - lara diabla videos - Два способа решения: числа Фибоначчи - emmisellers - 섹터뷰 아이브 - yslasout - ocel selebgram viral - Ballongdans - Swedish Balloon Dance Gallery | Motherless - Шаг за шагом: наибольший общий делитель - Шаг за шагом: переворот строки - Пишем решение с тестами: проверка анаграмм - xbad.xlucy - eipelppa - Britney Baker Nude: OnlyFans Leak and Playboy Photos - gay invincible porn - Разбираем задачу: сортировка слиянием - Desi Sex Video: Indian, Bangla and Married Porn Clips - çıplak türk liseli kızlar selfie - Girls Reaction to Dick Flash: Shocked, Surprised, and More - Common mistakes in word frequency counting part 143d - Частые ошибки при решении: сортировка слиянием