mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-09-05 07:21:40 +08:00
update
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
"translatedContent": "<p>如果你熟悉 Shell 编程,那么一定了解过花括号展开,它可以用来生成任意字符串。</p>\n\n<p>花括号展开的表达式可以看作一个由 <strong>花括号</strong>、<strong>逗号</strong> 和 <strong>小写英文字母</strong> 组成的字符串,定义下面几条语法规则:</p>\n\n<ul>\n\t<li>如果只给出单一的元素 <code>x</code>,那么表达式表示的字符串就只有 <code>\"x\"</code>。<code>R(x) = {x}</code>\n\n\t<ul>\n\t\t<li>例如,表达式 <code>\"a\"</code> 表示字符串 <code>\"a\"</code>。</li>\n\t\t<li>而表达式 <code>\"w\"</code> 就表示字符串 <code>\"w\"</code>。</li>\n\t</ul>\n\t</li>\n\t<li>当两个或多个表达式并列,以逗号分隔,我们取这些表达式中元素的并集。<code>R({e_1,e_2,...}) = R(e_1) ∪ R(e_2) ∪ ...</code>\n\t<ul>\n\t\t<li>例如,表达式 <code>\"{a,b,c}\"</code> 表示字符串 <code>\"a\",\"b\",\"c\"</code>。</li>\n\t\t<li>而表达式 <code>\"{{a,b},{b,c}}\"</code> 也可以表示字符串 <code>\"a\",\"b\",\"c\"</code>。</li>\n\t</ul>\n\t</li>\n\t<li>要是两个或多个表达式相接,中间没有隔开时,我们从这些表达式中各取一个元素依次连接形成字符串。<code>R(e_1 + e_2) = {a + b for (a, b) in R(e_1) × R(e_2)}</code>\n\t<ul>\n\t\t<li>例如,表达式 <code>\"{a,b}{c,d}\"</code> 表示字符串 <code>\"ac\",\"ad\",\"bc\",\"bd\"</code>。</li>\n\t</ul>\n\t</li>\n\t<li>表达式之间允许嵌套,单一元素与表达式的连接也是允许的。\n\t<ul>\n\t\t<li>例如,表达式 <code>\"a{b,c,d}\"</code> 表示字符串 <code>\"ab\",\"ac\",\"ad\"</code>。</li>\n\t\t<li>例如,表达式 <code>\"a{b,c}{d,e}f{g,h}\"</code> 可以表示字符串 <code>\"abdfg\", \"abdfh\", \"abefg\", \"abefh\", \"acdfg\", \"acdfh\", \"acefg\", \"acefh\"</code>。</li>\n\t</ul>\n\t</li>\n</ul>\n\n<p>给出表示基于给定语法规则的表达式 <code>expression</code>,返回它所表示的所有字符串组成的有序列表。</p>\n\n<p>假如你希望以「集合」的概念了解此题,也可以通过点击 “<strong>显示英文描述</strong>” 获取详情。</p>\n\n<p> </p>\n\n<p><strong>示例 1:</strong></p>\n\n<pre>\n<strong>输入:</strong>expression = \"{a,b}{c,{d,e}}\"\n<strong>输出:</strong>[\"ac\",\"ad\",\"ae\",\"bc\",\"bd\",\"be\"]</pre>\n\n<p><strong>示例 2:</strong></p>\n\n<pre>\n<strong>输入:</strong>expression = \"{{a,z},a{b,c},{ab,z}}\"\n<strong>输出:</strong>[\"a\",\"ab\",\"ac\",\"z\"]\n<strong>解释:</strong>输出中 <strong>不应 </strong>出现重复的组合结果。\n</pre>\n\n<p> </p>\n\n<p><strong>提示:</strong></p>\n\n<ul>\n\t<li><code>1 <= expression.length <= 60</code></li>\n\t<li><code>expression[i]</code> 由 <code>'{'</code>,<code>'}'</code>,<code>','</code> 或小写英文字母组成</li>\n\t<li>给出的表达式 <code>expression</code> 用以表示一组基于题目描述中语法构造的字符串</li>\n</ul>\n",
|
||||
"isPaidOnly": false,
|
||||
"difficulty": "Hard",
|
||||
"likes": 54,
|
||||
"likes": 56,
|
||||
"dislikes": 0,
|
||||
"isLiked": null,
|
||||
"similarQuestions": "[{\"title\": \"Brace Expansion\", \"titleSlug\": \"brace-expansion\", \"difficulty\": \"Medium\", \"translatedTitle\": \"\\u82b1\\u62ec\\u53f7\\u5c55\\u5f00\"}]",
|
||||
@@ -155,7 +155,7 @@
|
||||
"__typename": "CodeSnippetNode"
|
||||
}
|
||||
],
|
||||
"stats": "{\"totalAccepted\": \"2K\", \"totalSubmission\": \"3.6K\", \"totalAcceptedRaw\": 1989, \"totalSubmissionRaw\": 3595, \"acRate\": \"55.3%\"}",
|
||||
"stats": "{\"totalAccepted\": \"2.1K\", \"totalSubmission\": \"3.7K\", \"totalAcceptedRaw\": 2070, \"totalSubmissionRaw\": 3713, \"acRate\": \"55.8%\"}",
|
||||
"hints": [
|
||||
"You can write helper methods to parse the next \"chunk\" of the expression. If you see eg. \"a\", the answer is just the set {a}. If you see \"{\", you parse until you complete the \"}\" (the number of { and } seen are equal) and that becomes a chunk that you find where the appropriate commas are, and parse each individual expression between the commas."
|
||||
],
|
||||
|
Reference in New Issue
Block a user