PracHub
QuestionsPremiumLearningGuidesInterview PrepNEWCoaches
|Home/Coding & Algorithms/TikTok

Implement O(1) randomized multiset

Last updated: Mar 29, 2026

Quick Overview

This question evaluates a candidate's competency in designing and analyzing randomized data structures that support O(1) average-time add, remove, and multiplicity-weighted getRandom operations, emphasizing hashing, index management, and probabilistic reasoning about sampling by multiplicity.

  • Medium
  • TikTok
  • Coding & Algorithms
  • Software Engineer

Implement O(1) randomized multiset

Company: TikTok

Role: Software Engineer

Category: Coding & Algorithms

Difficulty: Medium

Interview Round: Technical Screen

Write code for a data structure that supports add(x), remove(x), and getRandom() in average O( 1) time where duplicates are allowed, and getRandom returns an element with probability proportional to its multiplicity. Explain your design, analyze time/space complexity, and discuss edge cases and randomized testing.

Quick Answer: This question evaluates a candidate's competency in designing and analyzing randomized data structures that support O(1) average-time add, remove, and multiplicity-weighted getRandom operations, emphasizing hashing, index management, and probabilistic reasoning about sampling by multiplicity.

Related Interview Questions

  • Parse a nested list from a string - TikTok (medium)
  • Implement stacks, streaming median, and upward path sum - TikTok (easy)
  • Maximize sum with no adjacent elements - TikTok (medium)
  • Implement stack variants and path-sum check - TikTok (medium)
  • Find the longest palindromic substring - TikTok (easy)
TikTok logo
TikTok
Jul 17, 2025, 12:00 AM
Software Engineer
Technical Screen
Coding & Algorithms
1
0

Write code for a data structure that supports add(x), remove(x), and getRandom() in average O(

  1. time where duplicates are allowed, and getRandom returns an element with probability proportional to its multiplicity. Explain your design, analyze time/space complexity, and discuss edge cases and randomized testing.

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More Coding & Algorithms•More TikTok•More Software Engineer•TikTok Software Engineer•TikTok Coding & Algorithms•Software Engineer Coding & Algorithms
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.