1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-09-04 15:01:40 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
Files
leetcode-problemset/leetcode-cn/originData/partition-string.json
2025-07-17 00:14:36 +08:00

194 lines
35 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"data": {
"question": {
"questionId": "3905",
"questionFrontendId": "3597",
"categoryTitle": "Algorithms",
"boundTopicId": 3710338,
"title": "Partition String ",
"titleSlug": "partition-string",
"content": "<p>Given a string <code>s</code>, partition it into <strong>unique segments</strong> according to the following procedure:</p>\n\n<ul>\n\t<li>Start building a segment beginning at index 0.</li>\n\t<li>Continue extending the current segment character by character until the current segment has not been seen before.</li>\n\t<li>Once the segment is unique, add it to your list of segments, mark it as seen, and begin a new segment from the next index.</li>\n\t<li>Repeat until you reach the end of <code>s</code>.</li>\n</ul>\n\n<p>Return an array of strings <code>segments</code>, where <code>segments[i]</code> is the <code>i<sup>th</sup></code> segment created.</p>\n\n<p>&nbsp;</p>\n<p><strong class=\"example\">Example 1:</strong></p>\n\n<div class=\"example-block\">\n<p><strong>Input:</strong> <span class=\"example-io\">s = &quot;abbccccd&quot;</span></p>\n\n<p><strong>Output:</strong> <span class=\"example-io\">[&quot;a&quot;,&quot;b&quot;,&quot;bc&quot;,&quot;c&quot;,&quot;cc&quot;,&quot;d&quot;]</span></p>\n\n<p><strong>Explanation:</strong></p>\n\n<table style=\"border: 1px solid black;\">\n\t<tbody>\n\t\t<tr>\n\t\t\t<th style=\"border: 1px solid black;\">Index</th>\n\t\t\t<th style=\"border: 1px solid black;\">Segment After Adding</th>\n\t\t\t<th style=\"border: 1px solid black;\">Seen Segments</th>\n\t\t\t<th style=\"border: 1px solid black;\">Current Segment Seen Before?</th>\n\t\t\t<th style=\"border: 1px solid black;\">New Segment</th>\n\t\t\t<th style=\"border: 1px solid black;\">Updated Seen Segments</th>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">0</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;a&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[]</td>\n\t\t\t<td style=\"border: 1px solid black;\">No</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">1</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;b&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;]</td>\n\t\t\t<td style=\"border: 1px solid black;\">No</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;, &quot;b&quot;]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">2</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;b&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;, &quot;b&quot;]</td>\n\t\t\t<td style=\"border: 1px solid black;\">Yes</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;b&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;, &quot;b&quot;]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">3</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;bc&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;, &quot;b&quot;]</td>\n\t\t\t<td style=\"border: 1px solid black;\">No</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;, &quot;b&quot;, &quot;bc&quot;]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">4</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;c&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;, &quot;b&quot;, &quot;bc&quot;]</td>\n\t\t\t<td style=\"border: 1px solid black;\">No</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;, &quot;b&quot;, &quot;bc&quot;, &quot;c&quot;]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">5</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;c&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;, &quot;b&quot;, &quot;bc&quot;, &quot;c&quot;]</td>\n\t\t\t<td style=\"border: 1px solid black;\">Yes</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;c&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;, &quot;b&quot;, &quot;bc&quot;, &quot;c&quot;]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">6</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;cc&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;, &quot;b&quot;, &quot;bc&quot;, &quot;c&quot;]</td>\n\t\t\t<td style=\"border: 1px solid black;\">No</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;, &quot;b&quot;, &quot;bc&quot;, &quot;c&quot;, &quot;cc&quot;]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">7</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;d&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;, &quot;b&quot;, &quot;bc&quot;, &quot;c&quot;, &quot;cc&quot;]</td>\n\t\t\t<td style=\"border: 1px solid black;\">No</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;, &quot;b&quot;, &quot;bc&quot;, &quot;c&quot;, &quot;cc&quot;, &quot;d&quot;]</td>\n\t\t</tr>\n\t</tbody>\n</table>\n\n<p>Hence, the final output is <code>[&quot;a&quot;, &quot;b&quot;, &quot;bc&quot;, &quot;c&quot;, &quot;cc&quot;, &quot;d&quot;]</code>.</p>\n</div>\n\n<p><strong class=\"example\">Example 2:</strong></p>\n\n<div class=\"example-block\">\n<p><strong>Input:</strong> <span class=\"example-io\">s = &quot;aaaa&quot;</span></p>\n\n<p><strong>Output:</strong> <span class=\"example-io\">[&quot;a&quot;,&quot;aa&quot;]</span></p>\n\n<p><strong>Explanation:</strong></p>\n\n<table style=\"border: 1px solid black;\">\n\t<tbody>\n\t\t<tr>\n\t\t\t<th style=\"border: 1px solid black;\">Index</th>\n\t\t\t<th style=\"border: 1px solid black;\">Segment After Adding</th>\n\t\t\t<th style=\"border: 1px solid black;\">Seen Segments</th>\n\t\t\t<th style=\"border: 1px solid black;\">Current Segment Seen Before?</th>\n\t\t\t<th style=\"border: 1px solid black;\">New Segment</th>\n\t\t\t<th style=\"border: 1px solid black;\">Updated Seen Segments</th>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">0</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;a&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[]</td>\n\t\t\t<td style=\"border: 1px solid black;\">No</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">1</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;a&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;]</td>\n\t\t\t<td style=\"border: 1px solid black;\">Yes</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;a&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">2</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;aa&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;]</td>\n\t\t\t<td style=\"border: 1px solid black;\">No</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;, &quot;aa&quot;]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">3</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;a&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;, &quot;aa&quot;]</td>\n\t\t\t<td style=\"border: 1px solid black;\">Yes</td>\n\t\t\t<td style=\"border: 1px solid black;\">&quot;a&quot;</td>\n\t\t\t<td style=\"border: 1px solid black;\">[&quot;a&quot;, &quot;aa&quot;]</td>\n\t\t</tr>\n\t</tbody>\n</table>\n\n<p>Hence, the final output is <code>[&quot;a&quot;, &quot;aa&quot;]</code>.</p>\n</div>\n\n<p>&nbsp;</p>\n<p><strong>Constraints:</strong></p>\n\n<ul>\n\t<li><code>1 &lt;= s.length &lt;= 10<sup>5</sup></code></li>\n\t<li><code>s</code> contains only lowercase English letters. </li>\n</ul>\n",
"translatedTitle": "分割字符串",
"translatedContent": "<p>给你一个字符串 <code>s</code>,按照以下步骤将其分割为 <strong>互不相同的段&nbsp;</strong></p>\n\n<ul>\n\t<li>从下标&nbsp;0 开始构建一个段。</li>\n\t<li>逐字符扩展当前段,直到该段之前未曾出现过。</li>\n\t<li>只要当前段是唯一的,就将其加入段列表,标记为已经出现过,并从下一个下标开始构建新的段。</li>\n\t<li>重复上述步骤,直到处理完整个字符串 <code>s</code>。</li>\n</ul>\n\n<p>返回字符串数组 <code>segments</code>,其中 <code>segments[i]</code> 表示创建的第 <code>i</code> 段。</p>\n\n<p>&nbsp;</p>\n\n<p><strong class=\"example\">示例 1</strong></p>\n\n<div class=\"example-block\">\n<p><strong>输入:</strong> <span class=\"example-io\">s = \"abbccccd\"</span></p>\n\n<p><strong>输出:</strong> <span class=\"example-io\">[\"a\",\"b\",\"bc\",\"c\",\"cc\",\"d\"]</span></p>\n\n<p><strong>解释:</strong></p>\n\n<table style=\"border: 1px solid black;\">\n\t<tbody>\n\t\t<tr>\n\t\t\t<th style=\"border: 1px solid black;\">下标</th>\n\t\t\t<th style=\"border: 1px solid black;\">添加后的段</th>\n\t\t\t<th style=\"border: 1px solid black;\">已经出现过的段</th>\n\t\t\t<th style=\"border: 1px solid black;\">当前段是否已经出现过?</th>\n\t\t\t<th style=\"border: 1px solid black;\">新段</th>\n\t\t\t<th style=\"border: 1px solid black;\">更新后已经出现过的段</th>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">0</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"a\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[]</td>\n\t\t\t<td style=\"border: 1px solid black;\">否</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\"]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">1</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"b\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\"]</td>\n\t\t\t<td style=\"border: 1px solid black;\">否</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\", \"b\"]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">2</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"b\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\", \"b\"]</td>\n\t\t\t<td style=\"border: 1px solid black;\">是</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"b\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\", \"b\"]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">3</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"bc\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\", \"b\"]</td>\n\t\t\t<td style=\"border: 1px solid black;\">否</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\", \"b\", \"bc\"]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">4</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"c\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\", \"b\", \"bc\"]</td>\n\t\t\t<td style=\"border: 1px solid black;\">否</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\", \"b\", \"bc\", \"c\"]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">5</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"c\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\", \"b\", \"bc\", \"c\"]</td>\n\t\t\t<td style=\"border: 1px solid black;\">是</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"c\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\", \"b\", \"bc\", \"c\"]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">6</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"cc\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\", \"b\", \"bc\", \"c\"]</td>\n\t\t\t<td style=\"border: 1px solid black;\">否</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\", \"b\", \"bc\", \"c\", \"cc\"]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">7</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"d\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\", \"b\", \"bc\", \"c\", \"cc\"]</td>\n\t\t\t<td style=\"border: 1px solid black;\">否</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\", \"b\", \"bc\", \"c\", \"cc\", \"d\"]</td>\n\t\t</tr>\n\t</tbody>\n</table>\n\n<p>因此,最终输出为 <code>[\"a\", \"b\", \"bc\", \"c\", \"cc\", \"d\"]</code>。</p>\n</div>\n\n<p><strong class=\"example\">示例 2</strong></p>\n\n<div class=\"example-block\">\n<p><strong>输入:</strong> <span class=\"example-io\">s = \"aaaa\"</span></p>\n\n<p><strong>输出:</strong> <span class=\"example-io\">[\"a\",\"aa\"]</span></p>\n\n<p><strong>解释:</strong></p>\n\n<table style=\"border: 1px solid black;\">\n\t<tbody>\n\t\t<tr>\n\t\t\t<th style=\"border: 1px solid black;\">下标</th>\n\t\t\t<th style=\"border: 1px solid black;\">添加后的段</th>\n\t\t\t<th style=\"border: 1px solid black;\">已经出现过的段</th>\n\t\t\t<th style=\"border: 1px solid black;\">当前段是否已经出现过?</th>\n\t\t\t<th style=\"border: 1px solid black;\">新段</th>\n\t\t\t<th style=\"border: 1px solid black;\">更新后已经出现过的段</th>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">0</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"a\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[]</td>\n\t\t\t<td style=\"border: 1px solid black;\">否</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\"]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">1</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"a\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\"]</td>\n\t\t\t<td style=\"border: 1px solid black;\">是</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"a\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\"]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">2</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"aa\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\"]</td>\n\t\t\t<td style=\"border: 1px solid black;\">否</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\", \"aa\"]</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style=\"border: 1px solid black;\">3</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"a\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\", \"aa\"]</td>\n\t\t\t<td style=\"border: 1px solid black;\">是</td>\n\t\t\t<td style=\"border: 1px solid black;\">\"a\"</td>\n\t\t\t<td style=\"border: 1px solid black;\">[\"a\", \"aa\"]</td>\n\t\t</tr>\n\t</tbody>\n</table>\n\n<p>因此,最终输出为 <code>[\"a\", \"aa\"]</code>。</p>\n</div>\n\n<p>&nbsp;</p>\n\n<p><strong>提示:</strong></p>\n\n<ul>\n\t<li><code>1 &lt;= s.length &lt;= 10<sup>5</sup></code></li>\n\t<li><code>s</code> 仅包含小写英文字母。</li>\n</ul>\n",
"isPaidOnly": false,
"difficulty": "Medium",
"likes": 2,
"dislikes": 0,
"isLiked": null,
"similarQuestions": "[]",
"contributors": [],
"langToValidPlayground": "{\"cpp\": false, \"java\": true, \"python\": true, \"python3\": false, \"mysql\": false, \"mssql\": false, \"oraclesql\": false, \"c\": false, \"csharp\": false, \"javascript\": false, \"typescript\": false, \"bash\": false, \"php\": false, \"swift\": false, \"kotlin\": false, \"dart\": false, \"golang\": false, \"ruby\": false, \"scala\": false, \"html\": false, \"pythonml\": false, \"rust\": false, \"racket\": false, \"erlang\": false, \"elixir\": false, \"pythondata\": false, \"react\": false, \"vanillajs\": false, \"postgresql\": false, \"cangjie\": false}",
"topicTags": [
{
"name": "Trie",
"slug": "trie",
"translatedName": "字典树",
"__typename": "TopicTagNode"
},
{
"name": "Hash Table",
"slug": "hash-table",
"translatedName": "哈希表",
"__typename": "TopicTagNode"
},
{
"name": "String",
"slug": "string",
"translatedName": "字符串",
"__typename": "TopicTagNode"
},
{
"name": "Simulation",
"slug": "simulation",
"translatedName": "模拟",
"__typename": "TopicTagNode"
}
],
"companyTagStats": null,
"codeSnippets": [
{
"lang": "C++",
"langSlug": "cpp",
"code": "class Solution {\npublic:\n vector<string> partitionString(string s) {\n \n }\n};",
"__typename": "CodeSnippetNode"
},
{
"lang": "Java",
"langSlug": "java",
"code": "class Solution {\n public List<String> partitionString(String s) {\n \n }\n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "Python",
"langSlug": "python",
"code": "class Solution(object):\n def partitionString(self, s):\n \"\"\"\n :type s: str\n :rtype: List[str]\n \"\"\"\n ",
"__typename": "CodeSnippetNode"
},
{
"lang": "Python3",
"langSlug": "python3",
"code": "class Solution:\n def partitionString(self, s: str) -> List[str]:\n ",
"__typename": "CodeSnippetNode"
},
{
"lang": "C",
"langSlug": "c",
"code": "/**\n * Note: The returned array must be malloced, assume caller calls free().\n */\nchar** partitionString(char* s, int* returnSize) {\n \n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "C#",
"langSlug": "csharp",
"code": "public class Solution {\n public IList<string> PartitionString(string s) {\n \n }\n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "JavaScript",
"langSlug": "javascript",
"code": "/**\n * @param {string} s\n * @return {string[]}\n */\nvar partitionString = function(s) {\n \n};",
"__typename": "CodeSnippetNode"
},
{
"lang": "TypeScript",
"langSlug": "typescript",
"code": "function partitionString(s: string): string[] {\n \n};",
"__typename": "CodeSnippetNode"
},
{
"lang": "PHP",
"langSlug": "php",
"code": "class Solution {\n\n /**\n * @param String $s\n * @return String[]\n */\n function partitionString($s) {\n \n }\n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "Swift",
"langSlug": "swift",
"code": "class Solution {\n func partitionString(_ s: String) -> [String] {\n \n }\n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "Kotlin",
"langSlug": "kotlin",
"code": "class Solution {\n fun partitionString(s: String): List<String> {\n \n }\n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "Dart",
"langSlug": "dart",
"code": "class Solution {\n List<String> partitionString(String s) {\n \n }\n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "Go",
"langSlug": "golang",
"code": "func partitionString(s string) []string {\n \n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "Ruby",
"langSlug": "ruby",
"code": "# @param {String} s\n# @return {String[]}\ndef partition_string(s)\n \nend",
"__typename": "CodeSnippetNode"
},
{
"lang": "Scala",
"langSlug": "scala",
"code": "object Solution {\n def partitionString(s: String): List[String] = {\n \n }\n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "Rust",
"langSlug": "rust",
"code": "impl Solution {\n pub fn partition_string(s: String) -> Vec<String> {\n \n }\n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "Racket",
"langSlug": "racket",
"code": "(define/contract (partition-string s)\n (-> string? (listof string?))\n )",
"__typename": "CodeSnippetNode"
},
{
"lang": "Erlang",
"langSlug": "erlang",
"code": "-spec partition_string(S :: unicode:unicode_binary()) -> [unicode:unicode_binary()].\npartition_string(S) ->\n .",
"__typename": "CodeSnippetNode"
},
{
"lang": "Elixir",
"langSlug": "elixir",
"code": "defmodule Solution do\n @spec partition_string(s :: String.t) :: [String.t]\n def partition_string(s) do\n \n end\nend",
"__typename": "CodeSnippetNode"
},
{
"lang": "Cangjie",
"langSlug": "cangjie",
"code": "class Solution {\n func partitionString(s: String): ArrayList<String> {\n\n }\n}",
"__typename": "CodeSnippetNode"
}
],
"stats": "{\"totalAccepted\": \"2.7K\", \"totalSubmission\": \"4.2K\", \"totalAcceptedRaw\": 2693, \"totalSubmissionRaw\": 4163, \"acRate\": \"64.7%\"}",
"hints": [
"Simulate as described"
],
"solution": null,
"status": null,
"sampleTestCase": "\"abbccccd\"",
"metaData": "{\n \"name\": \"partitionString\",\n \"params\": [\n {\n \"name\": \"s\",\n \"type\": \"string\"\n }\n ],\n \"return\": {\n \"type\": \"list<string>\"\n }\n}",
"judgerAvailable": true,
"judgeType": "large",
"mysqlSchemas": [],
"enableRunCode": true,
"envInfo": "{\"cpp\":[\"C++\",\"<p>\\u7248\\u672c\\uff1a<code>clang 19<\\/code> \\u91c7\\u7528\\u6700\\u65b0 C++ 23 \\u6807\\u51c6\\uff0c\\u5e76\\u4f7f\\u7528 GCC 14 \\u63d0\\u4f9b\\u7684 <code>libstdc++<\\/code>\\u3002<\\/p>\\r\\n\\r\\n<p>\\u7f16\\u8bd1\\u65f6\\uff0c\\u5c06\\u4f1a\\u91c7\\u7528 <code>-O2<\\/code> \\u7ea7\\u4f18\\u5316\\uff0c\\u5e76\\u63d0\\u4f9b <code>-gline-tables-only<\\/code> \\u53c2\\u6570\\u3002<a href=\\\"https:\\/\\/github.com\\/google\\/sanitizers\\/wiki\\/AddressSanitizer\\\" target=\\\"_blank\\\">AddressSanitizer<\\/a> \\u4e5f\\u88ab\\u5f00\\u542f\\u6765\\u68c0\\u6d4b <code>out-of-bounds<\\/code> \\u548c <code>use-after-free<\\/code> \\u9519\\u8bef\\u3002<\\/p>\\r\\n\\r\\n<p>\\u4e3a\\u4e86\\u4f7f\\u7528\\u65b9\\u4fbf\\uff0c\\u5927\\u90e8\\u5206\\u6807\\u51c6\\u5e93\\u7684\\u5934\\u6587\\u4ef6\\u5df2\\u7ecf\\u88ab\\u81ea\\u52a8\\u5bfc\\u5165\\u3002<\\/p>\"],\"java\":[\"Java\",\"<p>\\u7248\\u672c\\uff1a<code>OpenJDK 21<\\/code>\\u3002\\u4f7f\\u7528\\u7f16\\u8bd1\\u53c2\\u6570 <code>--enable-preview --release 21<\\/code><\\/p>\\r\\n\\r\\n<p>\\u4e3a\\u4e86\\u65b9\\u4fbf\\u8d77\\u89c1\\uff0c\\u5927\\u90e8\\u5206\\u6807\\u51c6\\u5e93\\u7684\\u5934\\u6587\\u4ef6\\u5df2\\u88ab\\u5bfc\\u5165\\u3002<\\/p>\\r\\n\\r\\n<p>\\u5305\\u542b Pair \\u7c7b: https:\\/\\/docs.oracle.com\\/javase\\/8\\/javafx\\/api\\/javafx\\/util\\/Pair.html <\\/p>\"],\"python\":[\"Python\",\"<p>\\u7248\\u672c\\uff1a <code>Python 2.7.18<\\/code><\\/p>\\r\\n\\r\\n<p>\\u4e3a\\u4e86\\u65b9\\u4fbf\\u8d77\\u89c1\\uff0c\\u5927\\u90e8\\u5206\\u5e38\\u7528\\u5e93\\u5df2\\u7ecf\\u88ab\\u81ea\\u52a8 \\u5bfc\\u5165\\uff0c\\u5982\\uff1a<a href=\\\"https:\\/\\/docs.python.org\\/2\\/library\\/array.html\\\" target=\\\"_blank\\\">array<\\/a>, <a href=\\\"https:\\/\\/docs.python.org\\/2\\/library\\/bisect.html\\\" target=\\\"_blank\\\">bisect<\\/a>, <a href=\\\"https:\\/\\/docs.python.org\\/2\\/library\\/collections.html\\\" target=\\\"_blank\\\">collections<\\/a>\\u3002\\u5982\\u679c\\u60a8\\u9700\\u8981\\u4f7f\\u7528\\u5176\\u4ed6\\u5e93\\u51fd\\u6570\\uff0c\\u8bf7\\u81ea\\u884c\\u5bfc\\u5165\\u3002<\\/p>\\r\\n\\r\\n<p>\\u6ce8\\u610f Python 2.7 <a href=\\\"https:\\/\\/www.python.org\\/dev\\/peps\\/pep-0373\\/\\\" target=\\\"_blank\\\">\\u5df2\\u4e0d\\u518d\\u7ef4\\u62a4<\\/a>\\u3002 \\u5982\\u60f3\\u4f7f\\u7528\\u6700\\u65b0\\u7248\\u7684Python\\uff0c\\u8bf7\\u9009\\u62e9Python 3\\u3002<\\/p>\"],\"c\":[\"C\",\"<p>\\u7248\\u672c\\uff1a<code>GCC 14<\\/code>\\uff0c\\u91c7\\u7528 GNU11 \\u6807\\u51c6\\u3002<\\/p>\\r\\n\\r\\n<p>\\u7f16\\u8bd1\\u65f6\\uff0c\\u5c06\\u4f1a\\u91c7\\u7528 <code>-O2<\\/code> \\u7ea7\\u4f18\\u5316\\uff0c\\u5e76\\u63d0\\u4f9b <code>-g1<\\/code> \\u53c2\\u6570\\u3002 <a href=\\\"https:\\/\\/github.com\\/google\\/sanitizers\\/wiki\\/AddressSanitizer\\\" target=\\\"_blank\\\">AddressSanitizer<\\/a> \\u4e5f\\u88ab\\u5f00\\u542f\\u6765\\u68c0\\u6d4b <code>out-of-bounds<\\/code> \\u548c <code>use-after-free<\\/code> \\u9519\\u8bef\\u3002<\\/p>\\r\\n\\r\\n<p>\\u4e3a\\u4e86\\u4f7f\\u7528\\u65b9\\u4fbf\\uff0c\\u5927\\u90e8\\u5206\\u6807\\u51c6\\u5e93\\u7684\\u5934\\u6587\\u4ef6\\u5df2\\u7ecf\\u88ab\\u81ea\\u52a8\\u5bfc\\u5165\\u3002<\\/p>\\r\\n\\r\\n<p>\\u5982\\u60f3\\u4f7f\\u7528\\u54c8\\u5e0c\\u8868\\u8fd0\\u7b97, \\u60a8\\u53ef\\u4ee5\\u4f7f\\u7528 <a href=\\\"https:\\/\\/troydhanson.github.io\\/uthash\\/\\\" target=\\\"_blank\\\">uthash<\\/a>\\u3002 \\\"uthash.h\\\"\\u5df2\\u7ecf\\u9ed8\\u8ba4\\u88ab\\u5bfc\\u5165\\u3002\\u8bf7\\u770b\\u5982\\u4e0b\\u793a\\u4f8b:<\\/p>\\r\\n\\r\\n<p><b>1. \\u5f80\\u54c8\\u5e0c\\u8868\\u4e2d\\u6dfb\\u52a0\\u4e00\\u4e2a\\u5bf9\\u8c61\\uff1a<\\/b>\\r\\n<pre>\\r\\nstruct hash_entry {\\r\\n int id; \\/* we'll use this field as the key *\\/\\r\\n char name[10];\\r\\n UT_hash_handle hh; \\/* makes this structure hashable *\\/\\r\\n};\\r\\n\\r\\nstruct hash_entry *users = NULL;\\r\\n\\r\\nvoid add_user(struct hash_entry *s) {\\r\\n HASH_ADD_INT(users, id, s);\\r\\n}\\r\\n<\\/pre>\\r\\n<\\/p>\\r\\n\\r\\n<p><b>2. \\u5728\\u54c8\\u5e0c\\u8868\\u4e2d\\u67e5\\u627e\\u4e00\\u4e2a\\u5bf9\\u8c61\\uff1a<\\/b>\\r\\n<pre>\\r\\nstruct hash_entry *find_user(int user_id) {\\r\\n struct hash_entry *s;\\r\\n HASH_FIND_INT(users, &user_id, s);\\r\\n return s;\\r\\n}\\r\\n<\\/pre>\\r\\n<\\/p>\\r\\n\\r\\n<p><b>3. \\u4ece\\u54c8\\u5e0c\\u8868\\u4e2d\\u5220\\u9664\\u4e00\\u4e2a\\u5bf9\\u8c61\\uff1a<\\/b>\\r\\n<pre>\\r\\nvoid delete_user(struct hash_entry *user) {\\r\\n HASH_DEL(users, user); \\r\\n}\\r\\n<\\/pre>\\r\\n<\\/p>\"],\"csharp\":[\"C#\",\"<p><a href=\\\"https:\\/\\/learn.microsoft.com\\/en-us\\/dotnet\\/csharp\\/whats-new\\/csharp-13\\\" target=\\\"_blank\\\">C# 13<\\/a> \\u8fd0\\u884c\\u5728 .NET 9 \\u4e0a<\\/p>\"],\"javascript\":[\"JavaScript\",\"<p>\\u7248\\u672c\\uff1a<code>Node.js 22.14.0<\\/code><\\/p>\\r\\n\\r\\n<p>\\u60a8\\u7684\\u4ee3\\u7801\\u5728\\u6267\\u884c\\u65f6\\u5c06\\u5e26\\u4e0a <code>--harmony<\\/code> \\u6807\\u8bb0\\u6765\\u5f00\\u542f <a href=\\\"http:\\/\\/node.green\\/\\\" target=\\\"_blank\\\">\\u65b0\\u7248ES6\\u7279\\u6027<\\/a>\\u3002<\\/p>\\r\\n\\r\\n<p><a href=\\\"https:\\/\\/lodash.com\\\" target=\\\"_blank\\\">lodash.js<\\/a> \\u5e93\\u5df2\\u7ecf\\u9ed8\\u8ba4\\u88ab\\u5305\\u542b\\u3002<\\/p>\\r\\n\\r\\n<p> \\u5982\\u9700\\u4f7f\\u7528\\u961f\\u5217\\/\\u4f18\\u5148\\u961f\\u5217\\uff0c\\u60a8\\u53ef\\u4f7f\\u7528 <a href=\\\"https:\\/\\/github.com\\/datastructures-js\\/priority-queue\\/tree\\/c044606839de82cdc796326a130d4090c0b01504\\\" target=\\\"_blank\\\"> datastructures-js\\/priority-queue@6.3.2<\\/a>\\uff0c<a href=\\\"https:\\/\\/github.com\\/datastructures-js\\/queue\\/tree\\/v4.2.3\\\" target=\\\"_blank\\\"> datastructures-js\\/queue@4.2.3<\\/a> \\u4ee5\\u53ca <a href=\\\"https:\\/\\/github.com\\/datastructures-js\\/deque\\/tree\\/v1.0.4\\\" target=\\\"_blank\\\"> datastructures-js\\/deque@1.0.4<\\/a>\\u3002<\\/p>\"],\"ruby\":[\"Ruby\",\"<p>\\u4f7f\\u7528 <code>Ruby 3.2<\\/code> \\u6267\\u884c<\\/p>\\r\\n\\r\\n<p>\\u4e00\\u4e9b\\u5e38\\u7528\\u7684\\u6570\\u636e\\u7ed3\\u6784\\u5df2\\u5728 Algorithms \\u6a21\\u5757\\u4e2d\\u63d0\\u4f9b\\uff1ahttps:\\/\\/www.rubydoc.info\\/github\\/kanwei\\/algorithms\\/Algorithms<\\/p>\"],\"swift\":[\"Swift\",\"<p>\\u7248\\u672c\\uff1a<code>Swift 6.0<\\/code><\\/p>\\r\\n\\r\\n<p>\\u60a8\\u53ef\\u4ee5\\u4f7f\\u7528 <a href=\\\"https:\\/\\/github.com\\/apple\\/swift-algorithms\\/tree\\/1.2.0\\\" target=\\\"_blank\\\">swift-algorithms 1.2.0<\\/a>\\uff0c<a href=\\\"https:\\/\\/github.com\\/apple\\/swift-collections\\/tree\\/1.1.4\\\" target=\\\"_blank\\\">swift-collections 1.1.4<\\/a> \\u548c <a href=\\\"https:\\/\\/github.com\\/apple\\/swift-numerics\\/tree\\/1.0.2\\\" target=\\\"_blank\\\">swift-numerics 1.0.2<\\/a><\\/p>\\r\\n\\r\\n<p>\\u6211\\u4eec\\u901a\\u5e38\\u4fdd\\u8bc1\\u66f4\\u65b0\\u5230 <a href=\\\"https:\\/\\/swift.org\\/download\\/\\\" target=\\\"_blank\\\">Apple\\u653e\\u51fa\\u7684\\u6700\\u65b0\\u7248Swift<\\/a>\\u3002\\u5982\\u679c\\u60a8\\u53d1\\u73b0Swift\\u4e0d\\u662f\\u6700\\u65b0\\u7248\\u7684\\uff0c\\u8bf7\\u8054\\u7cfb\\u6211\\u4eec\\uff01\\u6211\\u4eec\\u5c06\\u5c3d\\u5feb\\u66f4\\u65b0\\u3002<\\/p>\"],\"golang\":[\"Go\",\"<p>\\u7248\\u672c\\uff1a<code>Go 1.23<\\/code><\\/p>\\r\\n\\r\\n<p>\\u652f\\u6301 <a href=\\\"https:\\/\\/pkg.go.dev\\/github.com\\/emirpasic\\/gods@v1.18.1\\\" target=\\\"_blank\\\">https:\\/\\/pkg.go.dev\\/github.com\\/emirpasic\\/gods@v1.18.1<\\/a> \\u548c <a href=\\\"https:\\/\\/pkg.go.dev\\/github.com\\/emirpasic\\/gods\\/v2@v2.0.0-alpha\\\" target=\\\"_blank\\\">https:\\/\\/pkg.go.dev\\/github.com\\/emirpasic\\/gods\\/v2@v2.0.0-alpha<\\/a> \\u7b2c\\u4e09\\u65b9\\u5e93\\u3002<\\/p>\"],\"python3\":[\"Python3\",\"<p>\\u7248\\u672c\\uff1a<code>Python 3.11<\\/code><\\/p>\\r\\n\\r\\n<p>\\u4e3a\\u4e86\\u65b9\\u4fbf\\u8d77\\u89c1\\uff0c\\u5927\\u90e8\\u5206\\u5e38\\u7528\\u5e93\\u5df2\\u7ecf\\u88ab\\u81ea\\u52a8 \\u5bfc\\u5165\\uff0c\\u5982<a href=\\\"https:\\/\\/docs.python.org\\/3\\/library\\/array.html\\\" target=\\\"_blank\\\">array<\\/a>, <a href=\\\"https:\\/\\/docs.python.org\\/3\\/library\\/bisect.html\\\" target=\\\"_blank\\\">bisect<\\/a>, <a href=\\\"https:\\/\\/docs.python.org\\/3\\/library\\/collections.html\\\" target=\\\"_blank\\\">collections<\\/a>\\u3002 \\u5982\\u679c\\u60a8\\u9700\\u8981\\u4f7f\\u7528\\u5176\\u4ed6\\u5e93\\u51fd\\u6570\\uff0c\\u8bf7\\u81ea\\u884c\\u5bfc\\u5165\\u3002<\\/p>\\r\\n\\r\\n<p>\\u5982\\u9700\\u4f7f\\u7528 Map\\/TreeMap \\u6570\\u636e\\u7ed3\\u6784\\uff0c\\u60a8\\u53ef\\u4f7f\\u7528 <a href=\\\"http:\\/\\/www.grantjenks.com\\/docs\\/sortedcontainers\\/\\\" target=\\\"_blank\\\">sortedcontainers<\\/a> \\u5e93\\u3002<\\/p>\"],\"scala\":[\"Scala\",\"<p>\\u7248\\u672c\\uff1a<code>Scala 3.3.1<\\/code><\\/p>\"],\"kotlin\":[\"Kotlin\",\"<p>\\u7248\\u672c\\uff1a<code>Kotlin 2.1.10<\\/code><\\/p>\"],\"rust\":[\"Rust\",\"<p>\\u7248\\u672c\\uff1a<code>rust 1.85.0<\\/code>\\uff0c\\u4f7f\\u7528 edition 2021\\u3002<\\/p>\\r\\n\\r\\n<p>\\u652f\\u6301 crates.io \\u7684 <a href=\\\"https:\\/\\/crates.io\\/crates\\/rand\\\" target=\\\"_blank\\\">rand<\\/a>\\u3001<a href=\\\"https:\\/\\/crates.io\\/crates\\/regex\\\" target=\\\"_blank\\\">regex<\\/a> \\u548c <a href=\\\"https:\\/\\/crates.io\\/crates\\/itertools\\\" target=\\\"_blank\\\">itertools<\\/a><\\/p>\"],\"php\":[\"PHP\",\"<p><code>PHP 8.2<\\/code>.<\\/p>\\r\\n\\r\\n<p>With bcmath module.<\\/p>\"],\"typescript\":[\"TypeScript\",\"<p>TypeScript 5.7.3<\\/p>\\r\\n\\r\\n<p>Compile Options: --alwaysStrict --strictBindCallApply --strictFunctionTypes --target ES2024<\\/p>\\r\\n\\r\\n<p><a href=\\\"https:\\/\\/lodash.com\\\" target=\\\"_blank\\\">lodash.js<\\/a> \\u5e93\\u5df2\\u7ecf\\u9ed8\\u8ba4\\u88ab\\u5305\\u542b\\u3002<\\/p>\\r\\n\\r\\n<p> \\u5982\\u9700\\u4f7f\\u7528\\u961f\\u5217\\/\\u4f18\\u5148\\u961f\\u5217\\uff0c\\u60a8\\u53ef\\u4f7f\\u7528 <a href=\\\"https:\\/\\/github.com\\/datastructures-js\\/priority-queue\\/tree\\/c044606839de82cdc796326a130d4090c0b01504\\\" target=\\\"_blank\\\"> datastructures-js\\/priority-queue@6.3.2<\\/a>\\uff0c<a href=\\\"https:\\/\\/github.com\\/datastructures-js\\/queue\\/tree\\/v4.2.3\\\" target=\\\"_blank\\\"> datastructures-js\\/queue@4.2.3<\\/a> \\u4ee5\\u53ca <a href=\\\"https:\\/\\/github.com\\/datastructures-js\\/deque\\/tree\\/v1.0.4\\\" target=\\\"_blank\\\"> datastructures-js\\/deque@1.0.4<\\/a>\\u3002<\\/p>\"],\"racket\":[\"Racket\",\"<p><a href=\\\"https:\\/\\/docs.racket-lang.org\\/guide\\/performance.html#%28tech._c%29\\\" target=\\\"_blank\\\">Racket CS<\\/a> v8.15<\\/p>\\r\\n\\r\\n<p>\\u4f7f\\u7528 #lang racket<\\/p>\\r\\n\\r\\n<p>\\u5df2\\u9884\\u5148 (require data\\/gvector data\\/queue data\\/order data\\/heap). \\u82e5\\u9700\\u4f7f\\u7528\\u5176\\u5b83\\u6570\\u636e\\u7ed3\\u6784\\uff0c\\u53ef\\u81ea\\u884c require\\u3002<\\/p>\"],\"erlang\":[\"Erlang\",\"Erlang\\/OTP 26\"],\"elixir\":[\"Elixir\",\"Elixir 1.17 with Erlang\\/OTP 26\"],\"dart\":[\"Dart\",\"<p>Dart 3.2\\u3002\\u60a8\\u53ef\\u4ee5\\u4f7f\\u7528 <a href=\\\"https:\\/\\/pub.dev\\/packages\\/collection\\/versions\\/1.18.0\\\" target=\\\"_blank\\\">collection<\\/a> \\u5305<\\/p>\\r\\n\\r\\n<p>\\u60a8\\u7684\\u4ee3\\u7801\\u5c06\\u4f1a\\u88ab\\u4e0d\\u7f16\\u8bd1\\u76f4\\u63a5\\u8fd0\\u884c<\\/p>\"],\"cangjie\":[\"Cangjie\",\"<p>\\u7248\\u672c\\uff1a0.53.11 (cjnative)<\\/p>\\r\\n\\r\\n<p>\\u7f16\\u8bd1\\u53c2\\u6570\\uff1a<code>-O2 --disable-reflection<\\/code><\\/p>\\r\\n\\r\\n<p>\\u5feb\\u901f\\u5165\\u95e8\\u8bf7\\u67e5\\u9605<a href=\\\"https:\\/\\/leetcode.cn\\/leetbook\\/detail\\/cangjie\\/\\\" target=\\\"_blank\\\">\\u300c\\u4ed3\\u9889\\u7f16\\u7a0b\\u8bed\\u8a00\\u5f00\\u53d1\\u6307\\u5357\\u300d<\\/a><\\/p>\"]}",
"book": null,
"isSubscribed": false,
"isDailyQuestion": false,
"dailyRecordStatus": null,
"editorType": "CKEDITOR",
"ugcQuestionId": null,
"style": "LEETCODE",
"exampleTestcases": "\"abbccccd\"\n\"aaaa\"",
"__typename": "QuestionNode"
}
}
}