1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-09-06 07:51:41 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
This commit is contained in:
2022-05-02 23:44:12 +08:00
parent 7ea03594b3
commit 2a71c78585
4790 changed files with 11696 additions and 10944 deletions

View File

@@ -12,7 +12,7 @@
"translatedContent": "<p>设计一个算法:接收一个字符流,并检查这些字符的后缀是否是字符串数组 <code>words</code> 中的一个字符串。</p>\n\n<p>例如,<code>words = [\"abc\", \"xyz\"]</code> 且字符流中逐个依次加入 4 个字符 <code>'a'</code>、<code>'x'</code>、<code>'y'</code> 和 <code>'z'</code> ,你所设计的算法应当可以检测到&nbsp;<code>\"axyz\"</code> 的后缀 <code>\"xyz\"</code> 与&nbsp;<code>words</code> 中的字符串 <code>\"xyz\"</code> 匹配。</p>\n\n<p>按下述要求实现 <code>StreamChecker</code> 类:</p>\n\n<ul>\n\t<li><code>StreamChecker(String[] words)</code> :构造函数,用字符串数组&nbsp;<code>words</code> 初始化数据结构。</li>\n\t<li><code>boolean query(char letter)</code>:从字符流中接收一个新字符,如果字符流中的任一非空后缀能匹配 <code>words</code> 中的某一字符串,返回 <code>true</code> ;否则,返回 <code>false</code>。</li>\n</ul>\n\n<p>&nbsp;</p>\n\n<p><strong>示例:</strong></p>\n\n<pre>\n<strong>输入:</strong>\n[\"StreamChecker\", \"query\", \"query\", \"query\", \"query\", \"query\", \"query\", \"query\", \"query\", \"query\", \"query\", \"query\", \"query\"]\n[[[\"cd\", \"f\", \"kl\"]], [\"a\"], [\"b\"], [\"c\"], [\"d\"], [\"e\"], [\"f\"], [\"g\"], [\"h\"], [\"i\"], [\"j\"], [\"k\"], [\"l\"]]\n<strong>输出:</strong>\n[null, false, false, false, true, false, true, false, false, false, false, false, true]\n\n<strong>解释:</strong>\nStreamChecker streamChecker = new StreamChecker([\"cd\", \"f\", \"kl\"]);\nstreamChecker.query(\"a\"); // 返回 False\nstreamChecker.query(\"b\"); // 返回 False\nstreamChecker.query(\"c\"); // 返回n False\nstreamChecker.query(\"d\"); // 返回 True ,因为 'cd' 在 words 中\nstreamChecker.query(\"e\"); // 返回 False\nstreamChecker.query(\"f\"); // 返回 True ,因为 'f' 在 words 中\nstreamChecker.query(\"g\"); // 返回 False\nstreamChecker.query(\"h\"); // 返回 False\nstreamChecker.query(\"i\"); // 返回 False\nstreamChecker.query(\"j\"); // 返回 False\nstreamChecker.query(\"k\"); // 返回 False\nstreamChecker.query(\"l\"); // 返回 True ,因为 'kl' 在 words 中\n</pre>\n\n<p>&nbsp;</p>\n\n<p><strong>提示:</strong></p>\n\n<ul>\n\t<li><code>1 &lt;= words.length &lt;= 2000</code></li>\n\t<li><code>1 &lt;= words[i].length &lt;= 2000</code></li>\n\t<li><code>words[i]</code> 由小写英文字母组成</li>\n\t<li><code>letter</code> 是一个小写英文字母</li>\n\t<li>最多调用查询 <code>4 * 10<sup>4</sup></code> 次</li>\n</ul>\n",
"isPaidOnly": false,
"difficulty": "Hard",
"likes": 79,
"likes": 81,
"dislikes": 0,
"isLiked": null,
"similarQuestions": "[]",
@@ -161,7 +161,7 @@
"__typename": "CodeSnippetNode"
}
],
"stats": "{\"totalAccepted\": \"3.2K\", \"totalSubmission\": \"7.7K\", \"totalAcceptedRaw\": 3250, \"totalSubmissionRaw\": 7697, \"acRate\": \"42.2%\"}",
"stats": "{\"totalAccepted\": \"3.4K\", \"totalSubmission\": \"7.9K\", \"totalAcceptedRaw\": 3373, \"totalSubmissionRaw\": 7908, \"acRate\": \"42.7%\"}",
"hints": [
"Put the words into a trie, and manage a set of pointers within that trie."
],