mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-12-18 18:14:59 +08:00
update
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
"translatedContent": "<p>给定一个整数 <code>n</code> 和一个 <strong>无重复</strong> 黑名单整数数组 <code>blacklist</code> 。设计一种算法,从 <code>[0, n - 1]</code> 范围内的任意整数中选取一个 <strong>未加入 </strong>黑名单 <code>blacklist</code> 的整数。任何在上述范围内且不在黑名单 <code>blacklist</code> 中的整数都应该有 <strong>同等的可能性</strong> 被返回。</p>\n\n<p>优化你的算法,使它最小化调用语言 <strong>内置</strong> 随机函数的次数。</p>\n\n<p>实现 <code>Solution</code> 类:</p>\n\n<ul>\n\t<li><code>Solution(int n, int[] blacklist)</code> 初始化整数 <code>n</code> 和被加入黑名单 <code>blacklist</code> 的整数</li>\n\t<li><code>int pick()</code> 返回一个范围为 <code>[0, n - 1]</code> 且不在黑名单 <code>blacklist</code> 中的随机整数</li>\n</ul>\n\n<p> </p>\n\n<p><strong>示例 1:</strong></p>\n\n<pre>\n<strong>输入</strong>\n[\"Solution\", \"pick\", \"pick\", \"pick\", \"pick\", \"pick\", \"pick\", \"pick\"]\n[[7, [2, 3, 5]], [], [], [], [], [], [], []]\n<strong>输出</strong>\n[null, 0, 4, 1, 6, 1, 0, 4]\n\n<b>解释\n</b>Solution solution = new Solution(7, [2, 3, 5]);\nsolution.pick(); // 返回0,任何[0,1,4,6]的整数都可以。注意,对于每一个pick的调用,\n // 0、1、4和6的返回概率必须相等(即概率为1/4)。\nsolution.pick(); // 返回 4\nsolution.pick(); // 返回 1\nsolution.pick(); // 返回 6\nsolution.pick(); // 返回 1\nsolution.pick(); // 返回 0\nsolution.pick(); // 返回 4\n</pre>\n\n<p> </p>\n\n<p><strong>提示:</strong></p>\n\n<ul>\n\t<li><code>1 <= n <= 10<sup>9</sup></code></li>\n\t<li><code>0 <= blacklist.length <- min(10<sup>5</sup>, n - 1)</code></li>\n\t<li><code>0 <= blacklist[i] < n</code></li>\n\t<li><code>blacklist</code> 中所有值都 <strong>不同</strong></li>\n\t<li> <code>pick</code> 最多被调用 <code>2 * 10<sup>4</sup></code> 次</li>\n</ul>\n",
|
||||
"isPaidOnly": false,
|
||||
"difficulty": "Hard",
|
||||
"likes": 88,
|
||||
"likes": 95,
|
||||
"dislikes": 0,
|
||||
"isLiked": null,
|
||||
"similarQuestions": "[{\"title\": \"Random Pick Index\", \"titleSlug\": \"random-pick-index\", \"difficulty\": \"Medium\", \"translatedTitle\": \"\\u968f\\u673a\\u6570\\u7d22\\u5f15\"}, {\"title\": \"Random Pick with Weight\", \"titleSlug\": \"random-pick-with-weight\", \"difficulty\": \"Medium\", \"translatedTitle\": \"\\u6309\\u6743\\u91cd\\u968f\\u673a\\u9009\\u62e9\"}]",
|
||||
@@ -161,7 +161,7 @@
|
||||
"__typename": "CodeSnippetNode"
|
||||
}
|
||||
],
|
||||
"stats": "{\"totalAccepted\": \"7.9K\", \"totalSubmission\": \"21.1K\", \"totalAcceptedRaw\": 7864, \"totalSubmissionRaw\": 21050, \"acRate\": \"37.4%\"}",
|
||||
"stats": "{\"totalAccepted\": \"8.7K\", \"totalSubmission\": \"23.1K\", \"totalAcceptedRaw\": 8687, \"totalSubmissionRaw\": 23085, \"acRate\": \"37.6%\"}",
|
||||
"hints": [],
|
||||
"solution": null,
|
||||
"status": null,
|
||||
|
||||
Reference in New Issue
Block a user