solution.md 3.4 KB
Newer Older
每日一练社区's avatar
每日一练社区 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
# 两数之和

<p>给你一个字符串 <code>s</code> ,它包含一些括号对,每个括号中包含一个 <strong>非空</strong> 的键。</p>

<ul>
	<li>比方说,字符串 <code>"(name)is(age)yearsold"</code> 中,有 <strong>两个</strong> 括号对,分别包含键 <code>"name"</code> 和 <code>"age"</code> 。</li>
</ul>

<p>你知道许多键对应的值,这些关系由二维字符串数组 <code>knowledge</code> 表示,其中 <code>knowledge[i] = [key<sub>i</sub>, value<sub>i</sub>]</code> ,表示键 <code>key<sub>i</sub></code> 对应的值为 <code>value<sub>i</sub></code><sub> </sub></p>

<p>你需要替换 <strong>所有</strong> 的括号对。当你替换一个括号对,且它包含的键为 <code>key<sub>i</sub></code> 时,你需要:</p>

<ul>
	<li>将 <code>key<sub>i</sub></code> 和括号用对应的值 <code>value<sub>i</sub></code> 替换。</li>
	<li>如果从 <code>knowledge</code> 中无法得知某个键对应的值,你需要将 <code>key<sub>i</sub></code> 和括号用问号 <code>"?"</code> 替换(不需要引号)。</li>
</ul>

<p><code>knowledge</code> 中每个键最多只会出现一次。<code>s</code> 中不会有嵌套的括号。</p>

<p>请你返回替换 <strong>所有</strong> 括号对后的结果字符串。</p>

<p> </p>

<p><strong>示例 1:</strong></p>

<pre><b>输入:</b>s = "(name)is(age)yearsold", knowledge = [["name","bob"],["age","two"]]
<b>输出:</b>"bobistwoyearsold"
<strong>解释:</strong>
键 "name" 对应的值为 "bob" ,所以将 "(name)" 替换为 "bob" 。
键 "age" 对应的值为 "two" ,所以将 "(age)" 替换为 "two" 。
</pre>

<p><strong>示例 2:</strong></p>

<pre><b>输入:</b>s = "hi(name)", knowledge = [["a","b"]]
<b>输出:</b>"hi?"
<b>解释:</b>由于不知道键 "name" 对应的值,所以用 "?" 替换 "(name)" 。
</pre>

<p><strong>示例 3:</strong></p>

<pre><b>输入:</b>s = "(a)(a)(a)aaa", knowledge = [["a","yes"]]
<b>输出:</b>"yesyesyesaaa"
<b>解释:</b>相同的键在 s 中可能会出现多次。
键 "a" 对应的值为 "yes" ,所以将所有的 "(a)" 替换为 "yes" 。
注意,不在括号里的 "a" 不需要被替换。
</pre>

<p><strong>示例 4:</strong></p>

<pre><b>输入:</b>s = "(a)(b)", knowledge = [["a","b"],["b","a"]]
<b>输出:</b>"ba"</pre>

<p> </p>

<p><strong>提示:</strong></p>

<ul>
	<li><code>1 &lt;= s.length &lt;= 10<sup>5</sup></code></li>
	<li><code>0 &lt;= knowledge.length &lt;= 10<sup>5</sup></code></li>
	<li><code>knowledge[i].length == 2</code></li>
	<li><code>1 &lt;= key<sub>i</sub>.length, value<sub>i</sub>.length &lt;= 10</code></li>
	<li><code>s</code> 只包含小写英文字母和圆括号 <code>'('</code> 和 <code>')'</code> 。</li>
	<li><code>s</code> 中每一个左圆括号 <code>'('</code> 都有对应的右圆括号 <code>')'</code> 。</li>
	<li><code>s</code> 中每对括号内的键都不会为空。</li>
	<li><code>s</code> 中不会有嵌套括号对。</li>
	<li><code>key<sub>i</sub></code> 和 <code>value<sub>i</sub></code> 只包含小写英文字母。</li>
	<li><code>knowledge</code> 中的 <code>key<sub>i</sub></code> 不会重复。</li>
</ul>

<p>以下错误的选项是?</p>

## aop
### before
```cpp

```
### after
```cpp

```

## 答案
```cpp

```
## 选项

### A
```cpp

```

### B
```cpp

```

### C
```cpp

```