[LeetCode] Random Pick with Blacklist 带黑名单的随机选取

Posted Grandyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode] Random Pick with Blacklist 带黑名单的随机选取相关的知识,希望对你有一定的参考价值。

 

Given a blacklist B containing unique integers from [0, N), write a function to return a uniform random integer from [0, N) which is NOT in B.

Optimize it such that it minimizes the call to system’s Math.random().

Note:

  1. 1 <= N <= 1000000000
  2. 0 <= B.length < min(100000, N)
  3. [0, N) does NOT include N. See interval notation.

Example 1:

Input: 
["Solution","pick","pick","pick"]
[[1,[]],[],[],[]]
Output: [null,0,0,0]

Example 2:

Input: 
["Solution","pick","pick","pick"]
[[2,[]],[],[],[]]
Output: [null,1,1,1]

Example 3:

Input: 
["Solution","pick","pick","pick"]
[[3,[1]],[],[],[]]
Output: [null,0,0,2]

Example 4:

Input: 
["Solution","pick","pick","pick"]
[[4,[2]],[],[],[]]
Output: [null,1,3,1]

Explanation of Input Syntax:

The input is two lists: the subroutines called and their arguments. Solution‘s constructor has two arguments, N and the blacklist Bpick has no arguments. Arguments are always wrapped with a list, even if there aren‘t any.

 

s

 

以上是关于[LeetCode] Random Pick with Blacklist 带黑名单的随机选取的主要内容,如果未能解决你的问题,请参考以下文章

leetcode_398 Random Pick Index(Reservoir Sampling)

leetcode 528. Random Pick with Weight

[LeetCode] Random Pick with Weight 根据权重随机取点

[leetcode]528. Random Pick with Weight按权重挑选索引

[LeetCode] Random Pick with Blacklist 带黑名单的随机选取

LeetCode 528. Random Pick with Weight / 497. Random Point in Non-overlapping Rectangles