Skip to content

Latest commit

 

History

History
71 lines (55 loc) · 1.24 KB

File metadata and controls

71 lines (55 loc) · 1.24 KB

Trie Problem 9

LeetCode: https://leetcode.com/problems/longest-word-in-dictionary/ Difficulty: Medium

Problem

Solve this trie problem efficiently.

Brute Force Approach

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)

Optimal Approach

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)

Visual Diagram

Trie (Prefix Tree):
     root
    / | \
   a  b  c
  /   |   \
 p    a    a
 |    |    |
 p    t    t

Words: "app", "bat", "cat"

Visit LeetCode for full problem description.