Top K Elements & Priority Queues

Data Structures

Tracking extremes, medians, and K largest/smallest elements in dynamic streams

190 problems·13 Easy·107 Medium·70 Hard
Pattern Study Guide & Cheat Sheet

Dynamically maintain the K extreme elements using a binary heap, turning an O(N log N) full sort into O(N log K) time.

Core Invariant: The Heap Inversion Principle: To maintain the top K LARGEST elements, use a MIN-heap of size K! The heap root holds the smallest of the top K; if a new element is larger than root, pop root and push new.

Recognize it (Keywords & Signals)
  • Find K-th largest or K-th smallest element in array or stream
  • Top K frequent elements or most frequent words
  • Merge K sorted linked lists / arrays
  • Find median from data stream (dual heap: max-heap + min-heap)
  • Task scheduler / meeting rooms
When NOT to use

K is very close to N (quickselect or full sort is faster and simpler), or random indexed lookups are needed.

How to solve (Step-by-step)
  1. 1.To find top K largest: maintain `min_heap = []` (in Python `heapq` is a min-heap by default).
  2. 2.Iterate through elements or frequency counts.
  3. 3.Push onto heap: `heapq.heappush(heap, item)`.
  4. 4.If `len(heap) > k`: pop smallest element: `heapq.heappop(heap)`.
  5. 5.Heap now holds the K largest elements; root `heap[0]` is the K-th largest.
Watch for (Interview Traps)
  • Using a max-heap for top K largest (requires pushing all N elements taking O(N log N) space and time)
  • Python's `heapq` is MIN-heap only; negate numbers `(-val)` to emulate max-heap behavior
  • Tuple comparison tie-breakers: if frequencies match, Python compares the next tuple element (ensure elements are comparable)
Top K Frequent Elements (Min-Heap of size K)
import heapq
from collections import Counter

def top_k_frequent(nums: list[int], k: int) -> list[int]:
    freq_map = Counter(nums)
    # Min-heap stores tuples: (frequency, number)
    min_heap = []
    
    for num, count in freq_map.items():
        heapq.heappush(min_heap, (count, num))
        # Keep heap size <= k so root is always the smallest among top k
        if len(min_heap) > k:
            heapq.heappop(min_heap)
            
    return [num for count, num in min_heap]
Cost
O(n log k) vs O(n log n) full sort · O(k) auxiliary memory (Significant speedup when k << n (e.g. k=10, n=1,000,000).)
Canonical problems
#215 Kth Largest Element in an Array: Min-heap of size K yields answer at root heap[0]
#347 Top K Frequent Elements: Heap sorted by frequency maintains top K elements
#295 Find Median from Data Stream: Balance max-heap (lower half) and min-heap (upper half)
#23 Merge k Sorted Lists: Min-heap of size K holds head of each list for O(N log K) merge
Medium·56 companies·Max freq 100%·Acc 66.8%
ChewyAvitoDisney+53
Hard·56 companies·Max freq 100%·Acc 60.0%
XNetskopeDeloitte+53
Hard·52 companies·Max freq 100%·Acc 49.0%
CitadelblinkitLINE+49
Hard·47 companies·Max freq 100%·Acc 54.7%
TinderCohesityStackAdapt+44
Medium·47 companies·Max freq 100%·Acc 52.7%
SplunkSnapWorldQuant+44
Medium·45 companies·Max freq 100%·Acc 69.1%
CernerPocket GemsAvito+42
Medium·27 companies·Max freq 100%·Acc 63.4%
BCGRobloxmicro1+24
Hard·26 companies·Max freq 100%·Acc 44.7%
HopperPinterestNetflix+23
Medium·24 companies·Max freq 100%·Acc 60.4%
RobinhoodBoxZynga+21
Medium·22 companies·Max freq 100%·Acc 42.2%
HTCMakeMyTripStripe+19
Medium·20 companies·Max freq 100%·Acc 57.3%
RobloxTeslaAmazon+17
Medium·20 companies·Max freq 88%·Acc 49.9%
YandexCoupangCashfree+17
Medium·19 companies·Max freq 100%·Acc 69.2%
PlaidAsanaWix+16
Medium·19 companies·Max freq 100%·Acc 65.2%
Squarepoint CapitalUBSDoorDash+16
Medium·17 companies·Max freq 100%·Acc 45.1%
XXNeetCode 150+14
Medium·17 companies·Max freq 100%·Acc 57.8%
UberMolocoPhonePe+14
Medium·17 companies·Max freq 88%·Acc 0.8%
TargetWissen TechnologySquarepoint Capital+14
Medium·16 companies·Max freq 100%·Acc 51.0%
oyoSchrodingerZIP+13
Medium·16 companies·Max freq 100%·Acc 39.0%
GopuffVisaPayPal+13
Hard·14 companies·Max freq 100%·Acc 45.6%
XYelpX+11
Easy·13 companies·Max freq 93%·Acc 61.3%
TinderAdobeNeetCode 150+10
Medium·13 companies·Max freq 78%·Acc 55.9%
HivetcsBloomberg+10
Hard·13 companies·Max freq 75%·Acc 50.0%
RobloxPinterestMongoDB+10
Medium·12 companies·Max freq 100%·Acc 64.8%
XXPhonePe+9
Medium·12 companies·Max freq 89%·Acc 56.4%
CareemLyftZepto+9
Hard·12 companies·Max freq 75%·Acc 73.0%
CitadelAirbnbIntuit+9
Hard·12 companies·Max freq 67%·Acc 39.0%
SpotifyMetaDatadog+9
Hard·12 companies·Max freq 63%·Acc 51.4%
TikTokPinterestWalmart Labs+9
Hard·11 companies·Max freq 100%·Acc 70.2%
WinZOPhonePeLyft+8
Medium·11 companies·Max freq 100%·Acc 61.0%
Akuna CapitalNetflixNeetCode 150+8
Hard·11 companies·Max freq 78%·Acc 68.0%
WeRideNeetCode 150NeetCode 150+8
Medium·10 companies·Max freq 52%·Acc 42.1%
LinkedInUberFlipkart+7
#502IPO
Hard·9 companies·Max freq 88%·Acc 53.6%
InnovaccerStacklineSamsung+6
Medium·9 companies·Max freq 67%·Acc 63.6%
WaymoNutanixVisa+6
Medium·9 companies·Max freq 63%·Acc 49.7%
PaytmTuringVisa+6
Hard·8 companies·Max freq 100%·Acc 32.9%
DevRevPhonePeGoldman Sachs+5
Medium·8 companies·Max freq 100%·Acc 65.5%
WayfairTikTokGeico+5
Medium·8 companies·Max freq 89%·Acc 61.8%
AsanaPalantirOracle+5
Hard·8 companies·Max freq 88%·Acc 16.0%
WixSiemensZoho+5
Hard·8 companies·Max freq 79%·Acc 41.6%
WaymoDE ShawUber+5
Medium·8 companies·Max freq 62%·Acc 57.2%
ZomatoIntuitUber+5
Hard·8 companies·Max freq 50%·Acc 72.1%
DE ShawAmazonUber+5
Medium·7 companies·Max freq 100%·Acc 43.6%
QuoraSalesforceSamsung+4
Medium·7 companies·Max freq 100%·Acc 51.0%
FlexeraSalesforceAmazon+4
Medium·7 companies·Max freq 100%·Acc 46.5%
AQR Capital ManagementVisaMicrosoft+4
Medium·7 companies·Max freq 88%·Acc 63.6%
AdobeWalmart LabsIBM+4
Medium·7 companies·Max freq 75%·Acc 56.1%
CiscoSalesforceZeta Global+4
Medium·7 companies·Max freq 75%·Acc 47.8%
DoorDashIBMGoogle+4
Hard·7 companies·Max freq 40%·Acc 69.6%
InfosysAmazonUber+4
Medium·6 companies·Max freq 100%·Acc 30.3%
GrouponMathWorksGoldman Sachs+3
Hard·6 companies·Max freq 100%·Acc 45.6%
WishCitadelApple+3
Medium·6 companies·Max freq 100%·Acc 49.2%
AtlassianMongoDBGoogle+3
Easy·6 companies·Max freq 100%·Acc 85.6%
BT GroupMicrosoftMeta+3
Medium·6 companies·Max freq 100%·Acc 39.0%
Trend MicroOracleAmazon+3
Hard·6 companies·Max freq 100%·Acc 41.9%
Works ApplicationsSalesforceAmazon+3
Medium·6 companies·Max freq 100%·Acc 64.1%
McKinseyVisaTikTok+3
Medium·6 companies·Max freq 75%·Acc 54.8%
DE ShawDevRevMicrosoft+3
Easy·6 companies·Max freq 75%·Acc 57.3%
AccenturetcsMeta+3
Medium·6 companies·Max freq 68%·Acc 54.9%
DuolingoNvidiaRubrik+3
Medium·6 companies·Max freq 63%·Acc 65.9%
NvidiaAmazonBloomberg+3
Medium·6 companies·Max freq 27%·Acc 70.7%
AmazonUberMeta+3
Medium·5 companies·Max freq 100%·Acc 70.8%
Arista NetworksFortinetJPMorgan Chase+2
Medium·5 companies·Max freq 100%·Acc 42.0%
XXLinkedIn+2
Medium·5 companies·Max freq 100%·Acc 58.3%
BPLiftoffMeta+2
Easy·5 companies·Max freq 100%·Acc 65.6%
ZScalerIBMSalesforce+2
Medium·5 companies·Max freq 100%·Acc 65.9%
Bill.comExpediaNvidia+2
Medium·5 companies·Max freq 88%·Acc 60.3%
spinnyAmazonMicrosoft+2
Hard·5 companies·Max freq 75%·Acc 52.4%
InfosysMetaAmazon+2
Hard·5 companies·Max freq 60%·Acc 0.5%
NeetCode 150NeetCode 150Google+2
Medium·5 companies·Max freq 54%·Acc 55.2%
UberTikTokGoogle+2
Medium·5 companies·Max freq 50%·Acc 65.6%
SamsungGoogleMeta+2
Medium·5 companies·Max freq 39%·Acc 64.5%
VisaBloombergMeta+2
Medium·5 companies·Max freq 38%·Acc 74.1%
AmazonMicrosoftMeta+2
Medium·5 companies·Max freq 38%·Acc 58.0%
GoogleAmazonBloomberg+2
Easy·5 companies·Max freq 38%·Acc 76.1%
GoogleBloombergMeta+2
Medium·5 companies·Max freq 30%·Acc 48.9%
AppleGoogleAmazon+2
Medium·5 companies·Max freq 28%·Acc 54.7%
GoogleBloombergMeta+2
Easy·5 companies·Max freq 25%·Acc 65.2%
MetaMicrosoftGoogle+2
Easy·5 companies·Max freq 25%·Acc 74.4%
AmazonMetaBloomberg+2
Medium·4 companies·Max freq 100%·Acc 54.1%
RobinhoodCitadelJane Street+1
Hard·4 companies·Max freq 100%·Acc 54.7%
JioAmerican ExpressAmazon+1
Medium·4 companies·Max freq 100%·Acc 67.3%
DropboxMetaMicrosoft+1
Medium·4 companies·Max freq 100%·Acc 71.3%
QuoraUberAmazon+1
Medium·4 companies·Max freq 100%·Acc 43.8%
MathWorksGSA CapitalBloomberg+1
Easy·4 companies·Max freq 75%·Acc 75.5%
DE ShawGoogleMeta+1
Medium·4 companies·Max freq 65%·Acc 55.5%
UberGoogleBloomberg+1
Hard·4 companies·Max freq 63%·Acc 56.1%
AtlassianMicrosoftGoogle+1
Hard·4 companies·Max freq 63%·Acc 40.0%
ZomatoTikTokGoogle+1
Medium·4 companies·Max freq 51%·Acc 45.8%
tcsMetaAmazon+1
Hard·4 companies·Max freq 50%·Acc 41.7%
HubspotAmazonGoogle+1
Medium·4 companies·Max freq 38%·Acc 52.9%
AtlassianAmazonMicrosoft+1
Easy·4 companies·Max freq 25%·Acc 74.9%
GoogleBloombergAmazon+1
Hard·3 companies·Max freq 100%·Acc 24.0%
HuaweiWorldQuantDE Shaw
Medium·3 companies·Max freq 88%·Acc 42.5%
Akuna CapitalAmazonGoogle
Medium·3 companies·Max freq 68%·Acc 54.7%
GeicoGoogleAmazon
Medium·3 companies·Max freq 65%·Acc 52.4%
PhonePeGoogleAmazon
Hard·3 companies·Max freq 63%·Acc 61.2%
LinkedInGoogleAmazon
Medium·3 companies·Max freq 60%·Acc 0.5%
NutanixMicrosoftOracle
Medium·3 companies·Max freq 52%·Acc 67.6%
UberAmazonGoogle
Hard·3 companies·Max freq 50%·Acc 61.6%
LinkedInAmazonGoogle
Medium·3 companies·Max freq 50%·Acc 59.1%
SnowflakeOracleGoogle
Medium·3 companies·Max freq 50%·Acc 26.9%
UberMicrosoftAmazon
Hard·3 companies·Max freq 25%·Acc 63.7%
GoogleAmazonMicrosoft
Hard·3 companies·Max freq 25%·Acc 58.2%
GoogleMicrosoftAmazon
Hard·3 companies·Max freq 16%·Acc 39.0%
AmazonMicrosoftGoogle
Medium·3 companies·Max freq 15%·Acc 55.3%
GoogleBloombergMeta
Hard·3 companies·Max freq 13%·Acc 13.6%
MetaAmazonGoogle
Medium·3 companies·Max freq 13%·Acc 58.3%
MetaAmazonGoogle
Hard·3 companies·Max freq 13%·Acc 41.7%
AmazonMicrosoftGoogle
Medium·2 companies·Max freq 100%·Acc 0.7%
Hudson River TradingHudson River Trading
Medium·2 companies·Max freq 100%·Acc 0.5%
Booking.comBooking.com
Hard·2 companies·Max freq 100%·Acc 54.0%
SamsungAmazon
Hard·2 companies·Max freq 100%·Acc 65.5%
VMwareGoogle
Hard·2 companies·Max freq 100%·Acc 46.9%
WeRideDoorDash
Hard·2 companies·Max freq 100%·Acc 61.4%
ZomatoTikTok
Hard·2 companies·Max freq 100%·Acc 56.5%
Akuna CapitalGoogle
Medium·2 companies·Max freq 93%·Acc 49.6%
SamsungBarclays
Hard·2 companies·Max freq 88%·Acc 22.7%
MathWorksGoogle
Medium·2 companies·Max freq 88%·Acc 0.5%
Booking.comBooking.com
Hard·2 companies·Max freq 88%·Acc 65.4%
SamsungNike
Hard·2 companies·Max freq 88%·Acc 62.2%
FlipkartAmazon
Medium·2 companies·Max freq 77%·Acc 61.0%
FlipkartGoldman Sachs
Easy·2 companies·Max freq 76%·Acc 74.2%
Goldman SachsAmazon
Medium·2 companies·Max freq 75%·Acc 47.9%
DE ShawEPAM Systems
Medium·2 companies·Max freq 75%·Acc 44.1%
InfosysGoogle
Hard·2 companies·Max freq 75%·Acc 51.6%
Oscar HealthGoogle
Hard·2 companies·Max freq 67%·Acc 38.8%
InMobiAmazon
Medium·2 companies·Max freq 63%·Acc 45.5%
TikTokBloomberg
Hard·2 companies·Max freq 63%·Acc 36.6%
FlipkartAmazon
Medium·2 companies·Max freq 51%·Acc 48.9%
DoorDashMicrosoft
Easy·2 companies·Max freq 50%·Acc 73.9%
AmazonGoogle
Medium·2 companies·Max freq 50%·Acc 43.2%
SnowflakeAmazon
Medium·2 companies·Max freq 38%·Acc 31.0%
MicrosoftGoogle
Medium·2 companies·Max freq 29%·Acc 60.9%
AmazonMicrosoft
Medium·2 companies·Max freq 27%·Acc 59.0%
MetaGoogle
Medium·2 companies·Max freq 27%·Acc 33.5%
AmazonGoogle
Hard·2 companies·Max freq 25%·Acc 65.6%
AppleGoogle
Hard·2 companies·Max freq 25%·Acc 62.5%
MetaAmazon
Medium·2 companies·Max freq 25%·Acc 49.2%
AmazonMeta
Hard·2 companies·Max freq 25%·Acc 70.9%
GoogleAmazon
Medium·2 companies·Max freq 13%·Acc 0.5%
GoogleMeta
Hard·2 companies·Max freq 13%·Acc 50.9%
AmazonBloomberg
Hard·2 companies·Max freq 13%·Acc 33.7%
AmazonGoogle
Easy·2 companies·Max freq 13%·Acc 80.0%
AmazonGoogle
Hard·2 companies·Max freq 13%·Acc 41.2%
BloombergGoogle
Hard·1 companies·Max freq 100%·Acc 39.9%
Nutanix
Hard·1 companies·Max freq 100%·Acc 37.1%
Quora
Medium·1 companies·Max freq 100%·Acc 46.1%
Paytm
Medium·1 companies·Max freq 100%·Acc 43.5%
Samsung
Medium·1 companies·Max freq 100%·Acc 66.2%
Amdocs
Medium·1 companies·Max freq 100%·Acc 41.7%
Twitch
Medium·1 companies·Max freq 100%·Acc 69.4%
Akuna Capital
Hard·1 companies·Max freq 100%·Acc 70.7%
Qualcomm
Hard·1 companies·Max freq 50%·Acc 44.4%
LinkedIn
Medium·1 companies·Max freq 50%·Acc 43.7%
Uber
Medium·1 companies·Max freq 44%·Acc 50.9%
Goldman Sachs
Hard·1 companies·Max freq 40%·Acc 38.8%
Google
Hard·1 companies·Max freq 38%·Acc 42.7%
Google
Medium·1 companies·Max freq 38%·Acc 57.1%
Google
Medium·1 companies·Max freq 27%·Acc 58.7%
Microsoft
Medium·1 companies·Max freq 27%·Acc 51.9%
Microsoft
Hard·1 companies·Max freq 25%·Acc 35.7%
Amazon
Medium·1 companies·Max freq 25%·Acc 63.5%
Amazon
Hard·1 companies·Max freq 25%·Acc 37.7%
Amazon
Medium·1 companies·Max freq 25%·Acc 29.4%
Amazon
Medium·1 companies·Max freq 25%·Acc 63.6%
Amazon
Hard·1 companies·Max freq 25%·Acc 61.5%
Amazon
Medium·1 companies·Max freq 25%·Acc 60.3%
Amazon
Medium·1 companies·Max freq 25%·Acc 35.4%
Amazon
Hard·1 companies·Max freq 25%·Acc 68.7%
Goldman Sachs
Medium·1 companies·Max freq 25%·Acc 41.5%
Google
Hard·1 companies·Max freq 25%·Acc 54.1%
Google
Hard·1 companies·Max freq 25%·Acc 45.1%
Google
Medium·1 companies·Max freq 25%·Acc 55.2%
Google
Hard·1 companies·Max freq 25%·Acc 38.0%
Google
Medium·1 companies·Max freq 25%·Acc 64.4%
Google
Hard·1 companies·Max freq 25%·Acc 46.6%
Google
Medium·1 companies·Max freq 25%·Acc 68.7%
Google
Hard·1 companies·Max freq 25%·Acc 64.2%
Google
Medium·1 companies·Max freq 16%·Acc 68.0%
Google
Hard·1 companies·Max freq 13%·Acc 42.3%
Meta
Medium·1 companies·Max freq 13%·Acc 47.6%
Amazon
Hard·1 companies·Max freq 13%·Acc 31.8%
Amazon
Medium·1 companies·Max freq 13%·Acc 34.1%
Bloomberg
Hard·1 companies·Max freq 13%·Acc 49.9%
Google
Hard·1 companies·Max freq 13%·Acc 55.6%
Google
Medium·1 companies·Max freq 13%·Acc 41.9%
Google
Medium·1 companies·Max freq 13%·Acc 49.2%
Google
Easy·1 companies·Max freq 13%·Acc 60.5%
Google
Hard·1 companies·Max freq 13%·Acc 52.5%
Google
Showing 190 of 190 problems in Top K Elements & Priority QueuesFiltered: All Companies