Counter

2 snippets across 2 stacks — Interview Prep, Python

DSAInterview Prep

Frequency Counting

DSA · Hash Maps & Sets
syntax
Build a map of elementcount.
Useful for: most common element, anagrams, character counting, voting problems.
example
// JavaScript
function frequencyMap(arr) {
  const freq = new Map();
  for (const item of arr) {
    freq.set(item, (freq.get(item) || 0) + 1);
  }
  return freq;
}

function mostFrequent(arr) {
  const freq = frequencyMap(arr);
  let maxCount = 0, result = null;
  for (const [key, count] of freq) {
    if (count > maxCount) { maxCount = count; result = key; }
  }
  return result;
}

# Python
from collections import Counter

def frequency_map(arr):
    freq = {}
    for item in arr:
        freq[item] = freq.get(item, 0) + 1
    return freq

def most_frequent(arr):
    return Counter(arr).most_common(1)[0][0]
output
most_frequent([1,2,2,3,3,3]) → 3

Note Time O(n), Space O(k) where k is unique elements. Python's Counter is a powerful shortcut. In interviews, building the map manually shows understanding. Tie-breaking: clarify with interviewer what to return if multiple elements share max frequency.

PYPython

Counter

PY · Dictionaries
syntax
from collections import Counter
example
from collections import Counter

letters = Counter("mississippi")
print(letters.most_common(3))

inventory = Counter(apples=5, oranges=3)
inventory.update(apples=2)
print(inventory["apples"])
output
[('s', 4), ('i', 4), ('p', 2)]
7

Note Counter supports arithmetic: Counter('aab') - Counter('ab') gives Counter({'a': 1}). most_common() returns elements in descending frequency.