İçeriğe atla
CodeItRaw
Yol

Her zaman en küçüğü ya da en büyüğü hızlıca almak: heapq, iki heap ve öncelikler.

Temel fikirler

  • heapq en küçüğü O(log n)'de verir: heappush, heappop, heap[0].
  • En büyükler için değerleri eksiyle it.
  • k büyüklüğünde bir heap, akan veride "en büyük k" sorusunu hafızayı şişirmeden çözer.

Kalıp

import heapq
heap = []
heapq.heappush(heap, (priority, item))
priority, item = heapq.heappop(heap)  # the smallest priority
smallest = heap[0]  # peek without removing

Önce şunları tamamla:Yığın & Kuyruk

Dersler

Her ders tek bir fikri sıfırdan anlatır ve birkaç görevle biter. Dersler sırayla açılır; anlatımı istediğin zaman okuyabilirsin.

  1. 01

    Heap: en küçük hep elinin altında

    0/2 görev

  2. 02

    En büyük k tane ve "hep en küçük ikisi"

    0/3 görev

Boss

  • 03

    Akan Medyan

    Fonksiyon

  • Boss, konunun bütün dersleri bitince açılır. Onu da çözünce konu tamamlanır ve sonraki konular açılır.