mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
46 lines
2.1 KiB
HTML
46 lines
2.1 KiB
HTML
<p>给你一个二进制字符串 <code>binary</code> 。 <code>binary</code> 的一个 <strong>子序列</strong> 如果是 <strong>非空</strong> 的且没有 <b>前导</b> <strong>0</strong> (除非数字是 <code>"0"</code> 本身),那么它就是一个 <strong>好</strong> 的子序列。</p>
|
||
|
||
<p>请你找到 <code>binary</code> <strong>不同好子序列</strong> 的数目。</p>
|
||
|
||
<ul>
|
||
<li>比方说,如果 <code>binary = "001"</code> ,那么所有 <strong>好</strong> 子序列为 <code>["0", "0", "1"]</code> ,所以 <b>不同</b> 的好子序列为 <code>"0"</code> 和 <code>"1"</code> 。 注意,子序列 <code>"00"</code> ,<code>"01"</code> 和 <code>"001"</code> 不是好的,因为它们有前导 0 。</li>
|
||
</ul>
|
||
|
||
<p>请你返回 <code>binary</code> 中 <strong>不同好子序列</strong> 的数目。由于答案可能很大,请将它对 <code>10<sup>9</sup> + 7</code> <strong>取余</strong> 后返回。</p>
|
||
|
||
<p>一个 <strong>子序列</strong> 指的是从原数组中删除若干个(可以一个也不删除)元素后,不改变剩余元素顺序得到的序列。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<pre><b>输入:</b>binary = "001"
|
||
<b>输出:</b>2
|
||
<b>解释:</b>好的二进制子序列为 ["0", "0", "1"] 。
|
||
不同的好子序列为 "0" 和 "1" 。
|
||
</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre><b>输入:</b>binary = "11"
|
||
<b>输出:</b>2
|
||
<b>解释:</b>好的二进制子序列为 ["1", "1", "11"] 。
|
||
不同的好子序列为 "1" 和 "11" 。</pre>
|
||
|
||
<p><strong>示例 3:</strong></p>
|
||
|
||
<pre><b>输入:</b>binary = "101"
|
||
<b>输出:</b>5
|
||
<b>解释:</b>好的二进制子序列为 ["1", "0", "1", "10", "11", "101"] 。
|
||
不同的好子序列为 "0" ,"1" ,"10" ,"11" 和 "101" 。
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>1 <= binary.length <= 10<sup>5</sup></code></li>
|
||
<li><code>binary</code> 只含有 <code>'0'</code> 和 <code>'1'</code> 。</li>
|
||
</ul>
|