Skip to content

Commit f266cec

Browse files
committed
fix: update README.md
1 parent fa422f4 commit f266cec

File tree

1 file changed

+29
-49
lines changed
  • solution/1000-1099/1096.Brace Expansion II

1 file changed

+29
-49
lines changed

solution/1000-1099/1096.Brace Expansion II/README.md

+29-49
Original file line numberDiff line numberDiff line change
@@ -2,67 +2,47 @@
22

33
## 题目描述
44
<!-- 这里写题目描述 -->
5-
<p>如果你熟悉 Shell 编程,那么一定了解过花括号展开,它可以用来生成任意字符串。</p>
65

7-
<p>花括号展开的表达式可以看作一个由 <strong>花括号</strong>、<strong>逗号</strong> 和 <strong>小写英文字母</strong> 组成的字符串,定义下面几条语法规则:</p>
6+
如果你熟悉 Shell 编程,那么一定了解过花括号展开,它可以用来生成任意字符串。
87

9-
<ul>
10-
<li>如果只给出单一的元素&nbsp;<code>x</code>,那么表达式表示的字符串就只有&nbsp;<code>&quot;x&quot;</code>。&nbsp;
8+
花括号展开的表达式可以看作一个由 **花括号****逗号****小写英文字母** 组成的字符串,定义下面几条语法规则:
119

12-
<ul>
13-
<li>例如,表达式 <code>{a}</code>&nbsp;表示字符串 <code>&quot;a&quot;</code>。</li>
14-
<li>而表达式 <code>{ab}</code>&nbsp;就表示字符串 <code>&quot;ab&quot;</code>。</li>
15-
</ul>
16-
</li>
17-
<li>当两个或多个表达式并列,以逗号分隔时,我们取这些表达式中元素的并集。
18-
<ul>
19-
<li>例如,表达式&nbsp;<code>{a,b,c}</code> 表示字符串&nbsp;<code>&quot;a&quot;,&quot;b&quot;,&quot;c&quot;</code>。</li>
20-
<li>而表达式 <code>{a,b},{b,c}</code>&nbsp;也可以表示字符串&nbsp;<code>&quot;a&quot;,&quot;b&quot;,&quot;c&quot;</code>。</li>
21-
</ul>
22-
</li>
23-
<li>要是两个或多个表达式相接,中间没有隔开时,我们从这些表达式中各取一个元素依次连接形成字符串。
24-
<ul>
25-
<li>例如,表达式 <code>{a,b}{c,d}</code> 表示字符串&nbsp;<code>&quot;ac&quot;,&quot;ad&quot;,&quot;bc&quot;,&quot;bd&quot;</code>。</li>
26-
</ul>
27-
</li>
28-
<li>表达式之间允许嵌套,单一元素与表达式的连接也是允许的。
29-
<ul>
30-
<li>例如,表达式&nbsp;<code>a{b,c,d}</code> 表示字符串&nbsp;<code>&quot;ab&quot;,&quot;ac&quot;,&quot;ad&quot;</code>。</li>
31-
<li>例如,表达式&nbsp;<code>{a{b,c}}{{d,e}f{g,h}}</code> 可以代换为&nbsp;<code>{ab,ac}{dfg,dfh,efg,efh}</code>,表示字符串&nbsp;<code>&quot;abdfg&quot;, &quot;abdfh&quot;, &quot;abefg&quot;, &quot;abefh&quot;, &quot;acdfg&quot;, &quot;acdfh&quot;, &quot;acefg&quot;, &quot;acefh</code>&quot;。</li>
32-
</ul>
33-
</li>
34-
</ul>
10+
- 如果只给出单一的元素 `x`,那么表达式表示的字符串就只有 `"x"`
11+
- 例如,表达式 `{a}` 表示字符串 `"a"`
12+
- 而表达式 `{ab}` 就表示字符串 `"ab"`
13+
- 当两个或多个表达式并列,以逗号分隔时,我们取这些表达式中元素的并集。
14+
- 例如,表达式 `{a,b,c}` 表示字符串 `"a","b","c"`
15+
- 而表达式 `{a,b},{b,c}` 也可以表示字符串 `"a","b","c"`
16+
- 要是两个或多个表达式相接,中间没有隔开时,我们从这些表达式中各取一个元素依次连接形成字符串。
17+
- 例如,表达式 `{a,b}{c,d}` 表示字符串 `"ac","ad","bc","bd"`
18+
- 表达式之间允许嵌套,单一元素与表达式的连接也是允许的。
19+
- 例如,表达式 `a{b,c,d}` 表示字符串 `"ab","ac","ad"`
20+
- 例如,表达式 `{a{b,c}}{{d,e}f{g,h}}` 可以代换为 `{ab,ac}{dfg,dfh,efg,efh}`,表示字符串 `"abdfg", "abdfh", "abefg", "abefh", "acdfg", "acdfh", "acefg", "acefh"`
3521

36-
<p>给出表示基于给定语法规则的表达式&nbsp;<code>expression</code>,返回它所表示的所有字符串组成的有序列表。</p>
3722

38-
<p>假如你希望以「集合」的概念了解此题,也可以通过点击 &ldquo;<strong>显示英文描述</strong>&rdquo; 获取详情。</p>
23+
给出表示基于给定语法规则的表达式 `expression`,返回它所表示的所有字符串组成的有序列表。
3924

40-
<p>&nbsp;</p>
4125

42-
<p><strong>示例 1:</strong></p>
26+
**示例 1:**
4327

44-
<pre><strong>输入:</strong>&quot;{a,b}{c{d,e}}&quot;
45-
<strong>输出:</strong>[&quot;acd&quot;,&quot;ace&quot;,&quot;bcd&quot;,&quot;bce&quot;]
46-
</pre>
47-
48-
<p><strong>示例 2:</strong></p>
49-
50-
<pre><strong>输入:</strong>&quot;{{a,z}, a{b,c}, {ab,z}}&quot;
51-
<strong>输出:</strong>[&quot;a&quot;,&quot;ab&quot;,&quot;ac&quot;,&quot;z&quot;]
52-
<strong>解释:</strong>输出中 <strong>不应 </strong>出现重复的组合结果。
53-
</pre>
54-
55-
<p>&nbsp;</p>
28+
```
29+
输入:"{a,b}{c{d,e}}"
30+
输出:["acd","ace","bcd","bce"]
31+
```
5632

57-
<p><strong>提示:</strong></p>
33+
**示例 2:**
5834

59-
<ol>
60-
<li><code>1 &lt;= expression.length &lt;= 50</code></li>
61-
<li><code>expression[i]</code> 由 <code>&#39;{&#39;</code>,<code>&#39;}&#39;</code>,<code>&#39;,&#39;</code>&nbsp;或小写英文字母组成</li>
62-
<li>给出的表达式&nbsp;<code>expression</code>&nbsp;用以表示一组基于题目描述中语法构造的字符串</li>
63-
</ol>
35+
```
36+
输入:"{{a,z}, a{b,c}, {ab,z}}"
37+
输出:["a","ab","ac","z"]
38+
解释:输出中 不应 出现重复的组合结果。
39+
```
6440

41+
**提示:**
6542

43+
1. `1 <= expression.length <= 50`
44+
2. `expression[i]``'{'``'}'``','` 或小写英文字母组成
45+
3. 给出的表达式 `expression` 用以表示一组基于题目描述中语法构造的字符串
6646

6747
## 解法
6848
<!-- 这里可写通用的实现逻辑 -->

0 commit comments

Comments
 (0)