Prefix Sum & Hash Map

Fundamentals

O(1) range queries and subarray sum lookups using cumulative totals

205 problems·17 Easy·131 Medium·57 Hard
Pattern Study Guide & Cheat Sheet

Precompute cumulative values so any range sum sum(nums[i..j]) is computed in O(1) time as prefix[j+1] - prefix[i], or combined with a Hash Map to find subarrays in O(N).

Core Invariant: Sum(i..j) = Prefix[j] - Prefix[i-1] = target implies Prefix[i-1] = Prefix[j] - target. By storing seen prefix sums in a Hash Map, we can count or find valid starting indices in O(1)!

Recognize it (Keywords & Signals)
  • Subarray sum equals K (especially with negative numbers)
  • Number of continuous subarrays divisible by K
  • Longest subarray with equal number of 0s and 1s
  • Repeated range sum queries on static array / 2D matrix
When NOT to use

Frequent updates/modifications to array elements (use Fenwick Tree / Segment Tree for O(log n) dynamic updates).

How to solve (Step-by-step)
  1. 1.Initialize `curr_sum = 0`, `count = 0`, and `seen = {0: 1}` (empty prefix has sum 0 occurring once).
  2. 2.Iterate through each number `x` in the array.
  3. 3.Add to running sum: `curr_sum += x`.
  4. 4.Check if `(curr_sum - target)` exists in `seen`. If so, add its frequency to `count`.
  5. 5.Record current sum in map: `seen[curr_sum] = seen.get(curr_sum, 0) + 1`.
  6. 6.Return `count`.
Watch for (Interview Traps)
  • Forgetting `{0: 1}` in the hash map (fails on valid subarrays starting from index 0)
  • Updating the hash map BEFORE checking `curr_sum - k` (can cause self-match when k = 0)
  • Mistakenly using Sliding Window when numbers can be negative (Sliding Window requires monotonic sums)
Prefix Sum + Hash Map (Subarray Sum Equals K)
def subarray_sum_equals_k(nums: list[int], k: int) -> int:
    prefix_counts = {0: 1}  # Base case: sum 0 occurs once before array starts
    curr_sum = 0
    total_subarrays = 0
    
    for num in nums:
        curr_sum += num
        # If (curr_sum - k) was seen before, those prior points form valid subarrays
        diff = curr_sum - k
        if diff in prefix_counts:
            total_subarrays += prefix_counts[diff]
            
        prefix_counts[curr_sum] = prefix_counts.get(curr_sum, 0) + 1
        
    return total_subarrays
Cost
O(n) single pass · O(n) for hash map / prefix array (Reduces an O(n^2) brute force subarray check down to O(n).)
Canonical problems
#560 Subarray Sum Equals K: Count subarrays with sum K even with negative numbers
#525 Contiguous Array: Map 0 -> -1; longest subarray with sum 0 has equal 0s and 1s
#238 Product of Array Except Self: Combine prefix products from left and suffix products from right
#304 Range Sum Query 2D - Immutable: 2D prefix grid inclusion-exclusion area formula
Medium·47 companies·Max freq 100%·Acc 52.7%
SplunkSnapWorldQuant+44
Medium·47 companies·Max freq 88%·Acc 47.7%
MetaRippleAMD+44
Medium·44 companies·Max freq 100%·Acc 69.1%
ThousandEyesAsanaQuantcast+41
Medium·26 companies·Max freq 100%·Acc 49.2%
Two SigmaLiftoffNuro+23
Hard·22 companies·Max freq 100%·Acc 60.9%
BaiduYugabyteZeta Global+19
Medium·22 companies·Max freq 100%·Acc 54.7%
YatraSquarepoint CapitalSamsung+19
Medium·22 companies·Max freq 88%·Acc 68.0%
LinkedInRokuMeta+19
Medium·19 companies·Max freq 88%·Acc 52.2%
BCGCitigroupCitigroup+16
Medium·16 companies·Max freq 88%·Acc 51.7%
MotiveAkamaiOracle+13
Medium·12 companies·Max freq 100%·Acc 45.0%
Pony.aiPony.aiUrban Company+9
Medium·12 companies·Max freq 89%·Acc 56.4%
CareemLyftZepto+9
Medium·11 companies·Max freq 100%·Acc 63.0%
StarbucksTargetTekion+8
Medium·11 companies·Max freq 100%·Acc 58.0%
FlipkartPhonePeSprinklr+8
Medium·11 companies·Max freq 70%·Acc 56.5%
HashedInTikTokJPMorgan Chase+8
Easy·10 companies·Max freq 100%·Acc 64.8%
SwiggyDellYelp+7
Medium·10 companies·Max freq 71%·Acc 58.6%
OktaWaymoUpstart+7
Medium·10 companies·Max freq 63%·Acc 31.5%
MetaPhonePeBloomberg+7
Medium·9 companies·Max freq 88%·Acc 67.9%
PayPalTwilioIBM+6
Medium·9 companies·Max freq 75%·Acc 75.4%
RobloxDeliverooTikTok+6
Hard·8 companies·Max freq 100%·Acc 32.9%
DevRevPhonePeGoldman Sachs+5
Easy·8 companies·Max freq 63%·Acc 72.7%
PalantirInfosysMeta+5
Medium·8 companies·Max freq 63%·Acc 50.9%
PalantirMetaGoldman Sachs+5
Medium·7 companies·Max freq 100%·Acc 60.7%
RobinhoodRobloxTikTok+4
Medium·7 companies·Max freq 100%·Acc 67.3%
DunzoFlatiron HealthPhonePe+4
Easy·7 companies·Max freq 100%·Acc 64.3%
EnvoyMicrosoftApple+4
Medium·7 companies·Max freq 88%·Acc 63.6%
AdobeWalmart LabsIBM+4
Medium·7 companies·Max freq 65%·Acc 42.6%
PhonePeSamsungAmazon+4
Easy·7 companies·Max freq 50%·Acc 84.7%
CognizantZohoGoogle+4
Medium·7 companies·Max freq 41%·Acc 69.3%
BloombergNvidiaAmazon+4
Medium·6 companies·Max freq 100%·Acc 55.7%
DirectiMicrosoftAmazon+3
Medium·6 companies·Max freq 100%·Acc 53.8%
VeritasZeta GlobalMeta+3
Hard·6 companies·Max freq 100%·Acc 48.6%
Fractal AnalyticsMicrosoftMeta+3
Medium·6 companies·Max freq 100%·Acc 71.2%
StripeAmazonBloomberg+3
Medium·6 companies·Max freq 96%·Acc 56.7%
ZomatoTikTokAmazon+3
Hard·6 companies·Max freq 75%·Acc 46.8%
CiscoHashedInOracle+3
Hard·6 companies·Max freq 63%·Acc 59.9%
General MotorsMetaGoogle+3
Easy·6 companies·Max freq 50%·Acc 87.0%
GoogleAmazonMicrosoft+3
Medium·6 companies·Max freq 50%·Acc 80.4%
UberMicrosoftGoogle+3
Medium·6 companies·Max freq 50%·Acc 62.7%
Goldman SachsGoogleBloomberg+3
Medium·6 companies·Max freq 39%·Acc 73.8%
VisaGoogleAmazon+3
Medium·6 companies·Max freq 38%·Acc 90.2%
GoogleMetaTikTok+3
Medium·6 companies·Max freq 38%·Acc 75.6%
MicrosoftGoldman SachsBloomberg+3
Medium·6 companies·Max freq 25%·Acc 72.8%
UberAmazonGoogle+3
Medium·6 companies·Max freq 25%·Acc 41.9%
tcsBloombergAmazon+3
Medium·5 companies·Max freq 100%·Acc 64.9%
CureFitMicrosoftAmazon+2
Medium·5 companies·Max freq 100%·Acc 50.3%
BNY MellonMetaAmazon+2
Medium·5 companies·Max freq 100%·Acc 46.6%
PaytmVisaOracle+2
Medium·5 companies·Max freq 100%·Acc 0.5%
National Payments Corporation of IndiaNational Payments Corporation of IndiaAmazon+2
Medium·5 companies·Max freq 100%·Acc 54.6%
ChubbGoogleBloomberg+2
Medium·5 companies·Max freq 77%·Acc 22.2%
GrowwCoupangAtlassian+2
Hard·5 companies·Max freq 77%·Acc 62.2%
PinterestGoogleMicrosoft+2
Medium·5 companies·Max freq 68%·Acc 61.2%
TrilogyGoldman SachsGoogle+2
Easy·5 companies·Max freq 63%·Acc 85.3%
AccentureAmazonBloomberg+2
Hard·5 companies·Max freq 55%·Acc 64.5%
LinkedInAmazonGoogle+2
Hard·5 companies·Max freq 55%·Acc 74.6%
SnapSnapAmazon+2
Medium·5 companies·Max freq 50%·Acc 59.7%
UberVisaMeta+2
Medium·5 companies·Max freq 50%·Acc 67.9%
Goldman SachsPinterestGoogle+2
Medium·5 companies·Max freq 42%·Acc 0.4%
AdobeBloombergMicrosoft+2
Medium·5 companies·Max freq 39%·Acc 43.6%
GoogleUberBloomberg+2
Medium·5 companies·Max freq 28%·Acc 54.7%
GoogleBloombergMeta+2
Medium·5 companies·Max freq 25%·Acc 75.7%
MicrosoftAmazonMeta+2
Hard·5 companies·Max freq 18%·Acc 45.5%
GoogleMicrosoftAmazon+2
Hard·5 companies·Max freq 18%·Acc 50.5%
AmazonGoogleMeta+2
Easy·5 companies·Max freq 13%·Acc 68.3%
BloombergMetaAmazon+2
Medium·4 companies·Max freq 100%·Acc 65.4%
IMCFractal AnalyticsGoogle+1
Medium·4 companies·Max freq 100%·Acc 70.2%
ArcesiumMetaAmazon+1
Hard·4 companies·Max freq 100%·Acc 0.6%
Hudson River TradingHudson River TradingGoogle+1
Medium·4 companies·Max freq 100%·Acc 71.3%
QuoraUberAmazon+1
Easy·4 companies·Max freq 100%·Acc 70.1%
Code StudioBloombergAmazon+1
Hard·4 companies·Max freq 100%·Acc 61.5%
TeradataAmazonGoogle+1
Hard·4 companies·Max freq 78%·Acc 22.4%
AdobeMetaAmazon+1
Hard·4 companies·Max freq 67%·Acc 42.4%
TuringMicrosoftGoogle+1
Medium·4 companies·Max freq 56%·Acc 76.7%
VisaGoogleMeta+1
Medium·4 companies·Max freq 51%·Acc 65.7%
IntuitBloombergAmazon+1
Hard·4 companies·Max freq 50%·Acc 46.4%
DE ShawAmazonGoogle+1
Medium·4 companies·Max freq 50%·Acc 31.4%
AmazonBloombergMicrosoft+1
Medium·4 companies·Max freq 50%·Acc 40.6%
UberInfosysAmazon+1
Medium·4 companies·Max freq 42%·Acc 68.4%
IBMAmazonMeta+1
Medium·4 companies·Max freq 29%·Acc 40.2%
GoogleMetaAmazon+1
Medium·4 companies·Max freq 25%·Acc 49.7%
BloombergAmazonGoogle+1
Medium·4 companies·Max freq 25%·Acc 35.6%
GoogleAmazonBloomberg+1
Easy·4 companies·Max freq 25%·Acc 89.6%
GoogleBloombergMeta+1
Easy·4 companies·Max freq 25%·Acc 73.7%
UberMetaAmazon+1
Medium·4 companies·Max freq 25%·Acc 60.9%
MicrosoftAmazonBloomberg+1
Medium·4 companies·Max freq 15%·Acc 53.6%
GoogleMetaAmazon+1
Medium·4 companies·Max freq 13%·Acc 58.5%
MetaAmazonMicrosoft+1
Medium·4 companies·Max freq 13%·Acc 58.0%
MetaBloombergMicrosoft+1
Medium·4 companies·Max freq 13%·Acc 51.7%
AmazonBloombergMicrosoft+1
Medium·4 companies·Max freq 13%·Acc 52.9%
AmazonBloombergMicrosoft+1
Medium·3 companies·Max freq 100%·Acc 34.4%
RobinhoodTekionGoogle
Hard·3 companies·Max freq 100%·Acc 33.7%
IMCTwo SigmaAmazon
Hard·3 companies·Max freq 100%·Acc 39.4%
Deutsche BankPhonePeGoogle
Medium·3 companies·Max freq 100%·Acc 75.2%
WayfairAmazonGoogle
Medium·3 companies·Max freq 100%·Acc 78.0%
AirtelGoogleAmazon
Medium·3 companies·Max freq 97%·Acc 0.3%
Hudson River TradingAmazonGoogle
Medium·3 companies·Max freq 92%·Acc 36.1%
LTIMindtreeGoogleAmazon
Easy·3 companies·Max freq 88%·Acc 51.2%
SquarespaceBloombergAmazon
Medium·3 companies·Max freq 88%·Acc 47.6%
AdobeAmazonOracle
Medium·3 companies·Max freq 88%·Acc 52.7%
spinnyGoogleAmazon
Easy·3 companies·Max freq 75%·Acc 74.6%
AccentureGoogleAmazon
Medium·3 companies·Max freq 75%·Acc 37.9%
InfosysNetAppGoogle
Medium·3 companies·Max freq 67%·Acc 51.0%
Dream11DE ShawAmazon
Hard·3 companies·Max freq 52%·Acc 49.0%
SalesforceAmazonGoogle
Easy·3 companies·Max freq 50%·Acc 84.1%
LinkedInAmazonGoogle
Medium·3 companies·Max freq 42%·Acc 73.8%
AdobeGoogleMeta
Easy·3 companies·Max freq 30%·Acc 65.1%
GoogleMetaAmazon
Medium·3 companies·Max freq 30%·Acc 63.3%
AppleGoogleAmazon
Easy·3 companies·Max freq 25%·Acc 83.8%
AmazonMetaGoogle
Medium·3 companies·Max freq 25%·Acc 45.5%
BloombergGoogleAmazon
Hard·3 companies·Max freq 25%·Acc 53.9%
GoogleAmazonBloomberg
Hard·3 companies·Max freq 25%·Acc 45.7%
GoogleBloombergAmazon
Medium·3 companies·Max freq 25%·Acc 46.3%
MicrosoftBloombergGoogle
Hard·3 companies·Max freq 16%·Acc 0.6%
GoogleAmazonMeta
Medium·3 companies·Max freq 16%·Acc 42.9%
GoogleAmazonBloomberg
Hard·3 companies·Max freq 16%·Acc 0.6%
GoogleAmazonBloomberg
Hard·2 companies·Max freq 100%·Acc 65.5%
DunzoGoogle
Medium·2 companies·Max freq 100%·Acc 48.1%
TuSimpleWayve
Medium·2 companies·Max freq 92%·Acc 0.4%
MeeshoAmazon
Hard·2 companies·Max freq 92%·Acc 34.5%
SAPDeutsche Bank
Medium·2 companies·Max freq 90%·Acc 61.7%
SprinklrGoogle
Medium·2 companies·Max freq 88%·Acc 74.9%
BarclaysGoogle
Hard·2 companies·Max freq 75%·Acc 28.1%
DE ShawAmazon
Hard·2 companies·Max freq 75%·Acc 23.4%
RubrikGoogle
Medium·2 companies·Max freq 75%·Acc 41.2%
PayPalGoogle
Hard·2 companies·Max freq 67%·Acc 38.8%
InMobiAmazon
Medium·2 companies·Max freq 64%·Acc 0.1%
TekionGoogle
Medium·2 companies·Max freq 63%·Acc 73.3%
InfosysAmazon
Hard·2 companies·Max freq 63%·Acc 47.7%
InfosysAmazon
Medium·2 companies·Max freq 50%·Acc 84.7%
UberBloomberg
Medium·2 companies·Max freq 47%·Acc 25.7%
AmazonGoogle
Hard·2 companies·Max freq 42%·Acc 58.8%
IBMAmazon
Medium·2 companies·Max freq 35%·Acc 0.6%
Capital OneGoogle
Medium·2 companies·Max freq 28%·Acc 40.1%
UberGoogle
Hard·2 companies·Max freq 28%·Acc 35.9%
SalesforceGoogle
Medium·2 companies·Max freq 27%·Acc 26.5%
MicrosoftAmazon
Medium·2 companies·Max freq 27%·Acc 69.7%
MicrosoftAmazon
Medium·2 companies·Max freq 27%·Acc 85.1%
MicrosoftGoogle
Medium·2 companies·Max freq 25%·Acc 19.5%
MetaGoogle
Medium·2 companies·Max freq 25%·Acc 44.0%
AmazonMeta
Medium·2 companies·Max freq 25%·Acc 51.9%
AmazonGoogle
Medium·2 companies·Max freq 25%·Acc 68.5%
GoogleAmazon
Medium·2 companies·Max freq 25%·Acc 55.2%
GoogleAmazon
Hard·2 companies·Max freq 25%·Acc 33.8%
GoogleAmazon
Medium·2 companies·Max freq 25%·Acc 73.1%
GoogleAmazon
Medium·2 companies·Max freq 25%·Acc 66.6%
UberGoogle
Medium·2 companies·Max freq 13%·Acc 84.8%
MetaGoogle
Easy·2 companies·Max freq 13%·Acc 85.8%
AmazonGoogle
Hard·2 companies·Max freq 13%·Acc 64.9%
AmazonMicrosoft
Hard·2 companies·Max freq 13%·Acc 39.4%
MicrosoftGoogle
Medium·1 companies·Max freq 100%·Acc 76.4%
Nutanix
Hard·1 companies·Max freq 100%·Acc 39.9%
Nutanix
Hard·1 companies·Max freq 100%·Acc 41.6%
Docusign
Medium·1 companies·Max freq 100%·Acc 41.8%
Akuna Capital
Hard·1 companies·Max freq 100%·Acc 50.1%
Alibaba
Medium·1 companies·Max freq 100%·Acc 64.1%
Zomato
Medium·1 companies·Max freq 100%·Acc 65.6%
Airtel
Medium·1 companies·Max freq 100%·Acc 68.8%
Deutsche Bank
Hard·1 companies·Max freq 88%·Acc 21.8%
Walmart Labs
Medium·1 companies·Max freq 88%·Acc 54.1%
Walmart Labs
Medium·1 companies·Max freq 83%·Acc 32.1%
DE Shaw
Medium·1 companies·Max freq 77%·Acc 32.4%
DE Shaw
Medium·1 companies·Max freq 75%·Acc 44.8%
DE Shaw
Hard·1 companies·Max freq 75%·Acc 30.2%
Intuit
Medium·1 companies·Max freq 75%·Acc 57.2%
Intuit
Hard·1 companies·Max freq 75%·Acc 54.2%
Infosys
Medium·1 companies·Max freq 65%·Acc 40.5%
IBM
Hard·1 companies·Max freq 64%·Acc 24.9%
BNY Mellon
Medium·1 companies·Max freq 63%·Acc 36.4%
UKG
Hard·1 companies·Max freq 63%·Acc 35.6%
Rubrik
Medium·1 companies·Max freq 63%·Acc 58.1%
Oracle
Hard·1 companies·Max freq 63%·Acc 23.8%
Oracle
Medium·1 companies·Max freq 63%·Acc 73.0%
TikTok
Hard·1 companies·Max freq 63%·Acc 21.8%
TikTok
Medium·1 companies·Max freq 63%·Acc 69.2%
Salesforce
Medium·1 companies·Max freq 50%·Acc 19.8%
LinkedIn
Medium·1 companies·Max freq 50%·Acc 41.1%
Goldman Sachs
Easy·1 companies·Max freq 50%·Acc 73.5%
Uber
Hard·1 companies·Max freq 40%·Acc 29.6%
Amazon
Medium·1 companies·Max freq 27%·Acc 54.1%
Microsoft
Medium·1 companies·Max freq 27%·Acc 58.7%
Microsoft
Medium·1 companies·Max freq 25%·Acc 36.2%
Amazon
Medium·1 companies·Max freq 25%·Acc 61.5%
Amazon
Medium·1 companies·Max freq 25%·Acc 46.1%
Amazon
Hard·1 companies·Max freq 25%·Acc 65.0%
Amazon
Medium·1 companies·Max freq 25%·Acc 62.8%
Amazon
Hard·1 companies·Max freq 25%·Acc 27.8%
Amazon
Hard·1 companies·Max freq 25%·Acc 52.6%
Amazon
Hard·1 companies·Max freq 25%·Acc 61.6%
Google
Hard·1 companies·Max freq 25%·Acc 72.0%
Google
Hard·1 companies·Max freq 25%·Acc 60.5%
Google
Medium·1 companies·Max freq 25%·Acc 64.4%
Google
Hard·1 companies·Max freq 25%·Acc 33.2%
Google
Hard·1 companies·Max freq 25%·Acc 37.8%
Google
Medium·1 companies·Max freq 25%·Acc 49.1%
Google
Medium·1 companies·Max freq 25%·Acc 38.2%
Google
Medium·1 companies·Max freq 25%·Acc 45.9%
Google
Hard·1 companies·Max freq 25%·Acc 39.1%
Google
Medium·1 companies·Max freq 18%·Acc 33.6%
Google
Hard·1 companies·Max freq 13%·Acc 25.1%
Microsoft
Medium·1 companies·Max freq 13%·Acc 46.7%
Microsoft
Hard·1 companies·Max freq 13%·Acc 19.8%
Google
Hard·1 companies·Max freq 13%·Acc 54.3%
Google
Hard·1 companies·Max freq 13%·Acc 31.4%
Google
Medium·1 companies·Max freq 13%·Acc 53.8%
Google
Medium·1 companies·Max freq 13%·Acc 41.6%
Google
Showing 205 of 205 problems in Prefix Sum & Hash MapFiltered: All Companies