mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
45 lines
1.9 KiB
HTML
45 lines
1.9 KiB
HTML
<p>给你下标从 <strong>0</strong> 开始、长度为 <code>n</code> 的字符串 <code>pattern</code> ,它包含两种字符,<code>'I'</code> 表示 <strong>上升</strong> ,<code>'D'</code> 表示 <strong>下降</strong> 。</p>
|
||
|
||
<p>你需要构造一个下标从 <strong>0</strong> 开始长度为 <code>n + 1</code> 的字符串,且它要满足以下条件:</p>
|
||
|
||
<ul>
|
||
<li><code>num</code> 包含数字 <code>'1'</code> 到 <code>'9'</code> ,其中每个数字 <strong>至多</strong> 使用一次。</li>
|
||
<li>如果 <code>pattern[i] == 'I'</code> ,那么 <code>num[i] < num[i + 1]</code> 。</li>
|
||
<li>如果 <code>pattern[i] == 'D'</code> ,那么 <code>num[i] > num[i + 1]</code> 。</li>
|
||
</ul>
|
||
|
||
<p>请你返回满足上述条件字典序 <strong>最小</strong> 的字符串<em> </em><code>num</code>。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<pre>
|
||
<b>输入:</b>pattern = "IIIDIDDD"
|
||
<b>输出:</b>"123549876"
|
||
<strong>解释:
|
||
</strong>下标 0 ,1 ,2 和 4 处,我们需要使 num[i] < num[i+1] 。
|
||
下标 3 ,5 ,6 和 7 处,我们需要使 num[i] > num[i+1] 。
|
||
一些可能的 num 的值为 "245639871" ,"135749862" 和 "123849765" 。
|
||
"123549876" 是满足条件最小的数字。
|
||
注意,"123414321" 不是可行解因为数字 '1' 使用次数超过 1 次。</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre>
|
||
<b>输入:</b>pattern = "DDD"
|
||
<b>输出:</b>"4321"
|
||
<strong>解释:</strong>
|
||
一些可能的 num 的值为 "9876" ,"7321" 和 "8742" 。
|
||
"4321" 是满足条件最小的数字。
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>1 <= pattern.length <= 8</code></li>
|
||
<li><code>pattern</code> 只包含字符 <code>'I'</code> 和 <code>'D'</code> 。</li>
|
||
</ul>
|