mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-09-11 18:31:41 +08:00
批量更新数据
This commit is contained in:
@@ -2,35 +2,42 @@
|
||||
|
||||
<ul>
|
||||
<li><code>countAndSay(1) = "1"</code></li>
|
||||
<li><code>countAndSay(n)</code> is the way you would "say" the digit string from <code>countAndSay(n-1)</code>, which is then converted into a different digit string.</li>
|
||||
<li><code>countAndSay(n)</code> is the run-length encoding of <code>countAndSay(n - 1)</code>.</li>
|
||||
</ul>
|
||||
|
||||
<p>To determine how you "say" a digit string, split it into the <strong>minimal</strong> number of substrings such that each substring contains exactly <strong>one</strong> unique digit. Then for each substring, say the number of digits, then say the digit. Finally, concatenate every said digit.</p>
|
||||
<p><a href="http://en.wikipedia.org/wiki/Run-length_encoding" target="_blank">Run-length encoding</a> (RLE) is a string compression method that works by replacing consecutive identical characters (repeated 2 or more times) with the concatenation of the character and the number marking the count of the characters (length of the run). For example, to compress the string <code>"3322251"</code> we replace <code>"33"</code> with <code>"23"</code>, replace <code>"222"</code> with <code>"32"</code>, replace <code>"5"</code> with <code>"15"</code> and replace <code>"1"</code> with <code>"11"</code>. Thus the compressed string becomes <code>"23321511"</code>.</p>
|
||||
|
||||
<p>For example, the saying and conversion for digit string <code>"3322251"</code>:</p>
|
||||
<img alt="" src="https://assets.leetcode.com/uploads/2020/10/23/countandsay.jpg" style="width: 581px; height: 172px;" />
|
||||
<p>Given a positive integer <code>n</code>, return <em>the </em><code>n<sup>th</sup></code><em> term of the <strong>count-and-say</strong> sequence</em>.</p>
|
||||
<p>Given a positive integer <code>n</code>, return <em>the </em><code>n<sup>th</sup></code><em> element of the <strong>count-and-say</strong> sequence</em>.</p>
|
||||
|
||||
<p> </p>
|
||||
<p><strong class="example">Example 1:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>Input:</strong> <span class="example-io">n = 4</span></p>
|
||||
|
||||
<p><strong>Output:</strong> <span class="example-io">"1211"</span></p>
|
||||
|
||||
<p><strong>Explanation:</strong></p>
|
||||
|
||||
<pre>
|
||||
<strong>Input:</strong> n = 1
|
||||
<strong>Output:</strong> "1"
|
||||
<strong>Explanation:</strong> This is the base case.
|
||||
countAndSay(1) = "1"
|
||||
countAndSay(2) = RLE of "1" = "11"
|
||||
countAndSay(3) = RLE of "11" = "21"
|
||||
countAndSay(4) = RLE of "21" = "1211"
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">Example 2:</strong></p>
|
||||
|
||||
<pre>
|
||||
<strong>Input:</strong> n = 4
|
||||
<strong>Output:</strong> "1211"
|
||||
<strong>Explanation:</strong>
|
||||
countAndSay(1) = "1"
|
||||
countAndSay(2) = say "1" = one 1 = "11"
|
||||
countAndSay(3) = say "11" = two 1's = "21"
|
||||
countAndSay(4) = say "21" = one 2 + one 1 = "12" + "11" = "1211"
|
||||
</pre>
|
||||
<div class="example-block">
|
||||
<p><strong>Input:</strong> <span class="example-io">n = 1</span></p>
|
||||
|
||||
<p><strong>Output:</strong> <span class="example-io">"1"</span></p>
|
||||
|
||||
<p><strong>Explanation:</strong></p>
|
||||
|
||||
<p>This is the base case.</p>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
<p><strong>Constraints:</strong></p>
|
||||
@@ -38,3 +45,6 @@ countAndSay(4) = say "21" = one 2 + one 1 = "12" + "11&
|
||||
<ul>
|
||||
<li><code>1 <= n <= 30</code></li>
|
||||
</ul>
|
||||
|
||||
<p> </p>
|
||||
<strong>Follow up:</strong> Could you solve it iteratively?
|
Reference in New Issue
Block a user