mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
46 lines
2.8 KiB
HTML
46 lines
2.8 KiB
HTML
<p>给你一个长桌子,桌子上盘子和蜡烛排成一列。给你一个下标从 <strong>0</strong> 开始的字符串 <code>s</code> ,它只包含字符 <code>'*'</code> 和 <code>'|'</code> ,其中 <code>'*'</code> 表示一个 <strong>盘子</strong> ,<code>'|'</code> 表示一支 <strong>蜡烛</strong> 。</p>
|
||
|
||
<p>同时给你一个下标从 <strong>0</strong> 开始的二维整数数组 <code>queries</code> ,其中 <code>queries[i] = [left<sub>i</sub>, right<sub>i</sub>]</code> 表示 <strong>子字符串</strong> <code>s[left<sub>i</sub>...right<sub>i</sub>]</code> (<strong>包含左右端点的字符</strong>)。对于每个查询,你需要找到 <strong>子字符串中</strong> 在 <strong>两支蜡烛之间</strong> 的盘子的 <b>数目</b> 。如果一个盘子在 <strong>子字符串中</strong> 左边和右边 <strong>都</strong> 至少有一支蜡烛,那么这个盘子满足在 <strong>两支蜡烛之间</strong> 。</p>
|
||
|
||
<ul>
|
||
<li>比方说,<code>s = "||**||**|*"</code> ,查询 <code>[3, 8]</code> ,表示的是子字符串 <code>"*||<strong><em>**</em></strong>|"</code> 。子字符串中在两支蜡烛之间的盘子数目为 <code>2</code> ,子字符串中右边两个盘子在它们左边和右边 <strong>都 </strong>至少有一支蜡烛。</li>
|
||
</ul>
|
||
|
||
<p>请你返回一个整数数组 <code>answer</code> ,其中 <code>answer[i]</code> 是第 <code>i</code> 个查询的答案。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<p><img alt="ex-1" src="https://assets.leetcode.com/uploads/2021/10/04/ex-1.png" style="width: 400px; height: 134px;"></p>
|
||
|
||
<pre><b>输入:</b>s = "**|**|***|", queries = [[2,5],[5,9]]
|
||
<b>输出:</b>[2,3]
|
||
<b>解释:</b>
|
||
- queries[0] 有两个盘子在蜡烛之间。
|
||
- queries[1] 有三个盘子在蜡烛之间。
|
||
</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<p><img alt="ex-2" src="https://assets.leetcode.com/uploads/2021/10/04/ex-2.png" style="width: 600px; height: 193px;"></p>
|
||
|
||
<pre><b>输入:</b>s = "***|**|*****|**||**|*", queries = [[1,17],[4,5],[14,17],[5,11],[15,16]]
|
||
<b>输出:</b>[9,0,0,0,0]
|
||
<strong>解释:</strong>
|
||
- queries[0] 有 9 个盘子在蜡烛之间。
|
||
- 另一个查询没有盘子在蜡烛之间。
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>3 <= s.length <= 10<sup>5</sup></code></li>
|
||
<li><code>s</code> 只包含字符 <code>'*'</code> 和 <code>'|'</code> 。</li>
|
||
<li><code>1 <= queries.length <= 10<sup>5</sup></code></li>
|
||
<li><code>queries[i].length == 2</code></li>
|
||
<li><code>0 <= left<sub>i</sub> <= right<sub>i</sub> < s.length</code></li>
|
||
</ul>
|