mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-09-12 02:41:42 +08:00
存量题库数据更新
This commit is contained in:
@@ -1,37 +1,52 @@
|
||||
<p>有一个需要密码才能打开的保险箱。密码是 <code>n</code> 位数, 密码的每一位是 <code>k</code> 位序列 <code>0, 1, ..., k-1</code> 中的一个 。</p>
|
||||
<p>有一个需要密码才能打开的保险箱。密码是 <code>n</code> 位数, 密码的每一位都是范围 <code>[0, k - 1]</code> 中的一个数字。</p>
|
||||
|
||||
<p>你可以随意输入密码,保险箱会自动记住最后 <code>n</code> 位输入,如果匹配,则能够打开保险箱。</p>
|
||||
<p>保险箱有一种特殊的密码校验方法,你可以随意输入密码序列,保险箱会自动记住 <strong>最后 <code>n</code> 位输入</strong> ,如果匹配,则能够打开保险箱。</p>
|
||||
|
||||
<p>举个例子,假设密码是 <code>"345"</code>,你可以输入 <code>"012345"</code> 来打开它,只是你输入了 6 个字符.</p>
|
||||
<ul>
|
||||
<li>例如,正确的密码是 <code>"345"</code> ,并且你输入的是 <code>"012345"</code> :
|
||||
|
||||
<p>请返回一个能打开保险箱的最短字符串。</p>
|
||||
<ul>
|
||||
<li>输入 <code>0</code> 之后,最后 <code>3</code> 位输入是 <code>"0"</code> ,不正确。</li>
|
||||
<li>输入 <code>1</code> 之后,最后 <code>3</code> 位输入是 <code>"01"</code> ,不正确。</li>
|
||||
<li>输入 <code>2</code> 之后,最后 <code>3</code> 位输入是 <code>"012"</code> ,不正确。</li>
|
||||
<li>输入 <code>3</code> 之后,最后 <code>3</code> 位输入是 <code>"123"</code> ,不正确。</li>
|
||||
<li>输入 <code>4</code> 之后,最后 <code>3</code> 位输入是 <code>"234"</code> ,不正确。</li>
|
||||
<li>输入 <code>5</code> 之后,最后 <code>3</code> 位输入是 <code>"345"</code> ,正确,打开保险箱。</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>在只知道密码位数 <code>n</code> 和范围边界 <code>k</code> 的前提下,请你找出并返回确保在输入的 <strong>某个时刻</strong> 能够打开保险箱的任一 <strong>最短</strong> 密码序列 。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>示例1:</strong></p>
|
||||
<p><strong>示例 1:</strong></p>
|
||||
|
||||
<pre><strong>输入:</strong> n = 1, k = 2
|
||||
<strong>输出:</strong> "01"
|
||||
<strong>说明:</strong> "10"也可以打开保险箱。
|
||||
<pre>
|
||||
<strong>输入:</strong>n = 1, k = 2
|
||||
<strong>输出:</strong>"10"
|
||||
<strong>解释:</strong>密码只有 1 位,所以输入每一位就可以。"01" 也能够确保打开保险箱。
|
||||
</pre>
|
||||
|
||||
<p> </p>
|
||||
<p><strong>示例 2:</strong></p>
|
||||
|
||||
<p><strong>示例2:</strong></p>
|
||||
|
||||
<pre><strong>输入:</strong> n = 2, k = 2
|
||||
<strong>输出:</strong> "00110"
|
||||
<strong>说明: </strong>"01100", "10011", "11001" 也能打开保险箱。
|
||||
<pre>
|
||||
<strong>输入:</strong>n = 2, k = 2
|
||||
<strong>输出:</strong>"01100"
|
||||
<strong>解释:</strong>对于每种可能的密码:
|
||||
- "00" 从第 4 位开始输入。
|
||||
- "01" 从第 1 位开始输入。
|
||||
- "10" 从第 3 位开始输入。
|
||||
- "11" 从第 2 位开始输入。
|
||||
因此 "01100" 可以确保打开保险箱。"01100"、"10011" 和 "11001" 也可以确保打开保险箱。
|
||||
</pre>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ol>
|
||||
<li><code>n</code> 的范围是 <code>[1, 4]</code>。</li>
|
||||
<li><code>k</code> 的范围是 <code>[1, 10]</code>。</li>
|
||||
<li><code>k^n</code> 最大可能为 <code>4096</code>。</li>
|
||||
</ol>
|
||||
|
||||
<p> </p>
|
||||
<ul>
|
||||
<li><code>1 <= n <= 4</code></li>
|
||||
<li><code>1 <= k <= 10</code></li>
|
||||
<li><code>1 <= k<sup>n</sup> <= 4096</code></li>
|
||||
</ul>
|
||||
|
Reference in New Issue
Block a user