Implement fast sampling for weighted k-sided die
Company: LinkedIn
Role: Data Scientist
Category: Coding & Algorithms
Difficulty: Medium
Interview Round: Technical Screen
Quick Answer: This question evaluates understanding of probabilistic algorithm design, numerical stability, and efficient data-structure implementation for constant-time sampling from categorical distributions.
Constraints
- probabilities are non-negative and normalized internally.
- tickets contain floats in [0,1).
Examples
Input: ([0.2,0.3,0.5], [(0.0,0.1),(0.4,0.9),(0.8,0.2)])
Expected Output: [0, 2, 2]
Explanation: Alias-table sampling with explicit random tickets.
Input: ([1,0,0], [(0.7,0.5)])
Expected Output: [0]
Explanation: Degenerate distribution always returns index 0.
Hints
- Clarify edge cases before coding.
- Keep the return value deterministic.