LeetCode: https://leetcode.com/problems/top-k-frequent-elements/ Difficulty: Medium
Solve this hash-map problem efficiently.
function solve(nums) {
let result = [];
// Check all possibilities
for (let i = 0; i < nums.length; i++) {
for (let j = i + 1; j < nums.length; j++) {
// Process pairs
if (/* condition */) {
result.push([i, j]);
}
}
}
return result;
}⏱️ Time: O(n²) or O(n³)
💾 Space: O(n)
function solve(nums) {
const map = new Map();
const result = [];
for (let i = 0; i < nums.length; i++) {
// Use hash map for O(1) lookup
const complement = target - nums[i];
if (map.has(complement)) {
result.push([map.get(complement), i]);
}
map.set(nums[i], i);
}
return result;
}⏱️ Time: O(n) or O(n log n)
💾 Space: O(n) or O(1)
Hash Map:
┌────┬──────┐
│ Key│Value │
├────┼──────┤
│ 'a'│ 1 │
│ 'b'│ 2 │
│ 'c'│ 3 │
└────┴──────┘
Fast O(1) lookup
Visit LeetCode for full problem description.