数据结构与算法之深入解析“黑名单中的随机数”的求解思路与算法示例

Posted ╰つ栺尖篴夢ゞ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构与算法之深入解析“黑名单中的随机数”的求解思路与算法示例相关的知识,希望对你有一定的参考价值。

一、题目要求

  • 给定一个整数 n 和一个无重复黑名单整数数组 blacklist,设计一种算法,从 [0, n - 1] 范围内的任意整数中选取一个未加入黑名单 blacklist 的整数,任何在上述范围内且不在黑名单 blacklist 中的整数都应该有同等的可能性被返回。
  • 优化你的算法,使它最小化调用语言内置随机函数的次数。
  • 实现 Solution 类:
    • Solution(int n, int[] blacklist) 初始化整数 n 和被加入黑名单 blacklist 的整数;
    • int pick() 返回一个范围为 [0, n - 1] 且不在黑名单 blacklist 中的随机整数。
  • 示例 1:
输入
["Solution", "pick", "pick", "pick", 

以上是关于数据结构与算法之深入解析“黑名单中的随机数”的求解思路与算法示例的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法之深入解析“股票的最大利润”的求解思路与算法示例

数据结构与算法之深入解析“安装栅栏”的求解思路与算法示例

数据结构与算法之深入解析“最长连续序列”的求解思路与算法示例

数据结构与算法之深入解析“路径总和”的求解思路与算法示例

数据结构与算法之深入解析“斐波那契数”的求解思路与算法示例

数据结构与算法之深入解析“股票价格跨度”的求解思路与算法示例