假设我们有一个用密码保护的箱子。密码是一个 n 位数字序列,其中每个数字可以是前 k 个数字 0、1、…、k-1 之一。因此,当我们输入密码时,最后输入的 n 位数字将自动与正确的密码匹配。例如,假设正确的密码是“563”,如果我们输入“285639”,则箱子将打开,因为正确的密码与输入密码的后缀匹配。我们需要找到任何保证在某个时刻打开箱子的最小长度密码... 阅读更多
假设我们有一个名为 B 的黑名单。它包含来自范围 [0, N) 的唯一整数,我们需要定义一个函数来返回来自范围 [0, N) 的一个均匀随机整数,该整数不在 B 中。我们将尝试通过减少 random() 函数调用来优化此函数。假设输入数组如下:为了解决这个问题,我们将遵循以下步骤:定义一个映射我们将初始化为 N 和数组 v。for 初始化 i := 0,当 i < v 的大小,更新(增加 i 为 1),执行:-如果 v[i] < N,则:,m[v[i]] := -1M := N... 阅读更多
假设我们有一棵有根树。这是一个有向图,使得正好有一个节点(它是根)所有其他节点都是该节点的后代,并且每个节点只有一个父节点,除了根节点。根没有父节点。在给定的输入中,一个有向图最初是具有 N 个节点的有根树(所有值都是唯一的),并且添加了一条额外的有向边。添加的边从 1 到 N 选择了两个不同的顶点,并且不是已经存在的边。图将是一个 2D 边的数组。每个... 阅读更多