mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-09-06 07:51:41 +08:00
update
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
<p>给你两个整数 <code>red</code> 和 <code>blue</code>,分别表示红色球和蓝色球的数量。你需要使用这些球来组成一个三角形,满足第 1 行有 1 个球,第 2 行有 2 个球,第 3 行有 3 个球,依此类推。</p>
|
||||
|
||||
<p>每一行的球必须是 <strong>相同 </strong>颜色,且相邻行的颜色必须<strong> 不同</strong>。</p>
|
||||
|
||||
<p>返回可以实现的三角形的 <strong>最大 </strong>高度。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong class="example">示例 1:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">red = 2, blue = 4</span></p>
|
||||
|
||||
<p><strong>输出:</strong> 3</p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p><img alt="" src="https://assets.leetcode.com/uploads/2024/06/16/brb.png" style="width: 300px; height: 240px; padding: 10px;" /></p>
|
||||
|
||||
<p>上图显示了唯一可能的排列方式。</p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 2:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">red = 2, blue = 1</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">2</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p><img alt="" src="https://assets.leetcode.com/uploads/2024/06/16/br.png" style="width: 150px; height: 135px; padding: 10px;" /><br />
|
||||
上图显示了唯一可能的排列方式。</p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 3:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">red = 1, blue = 1</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">1</span></p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 4:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">red = 10, blue = 1</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">2</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p><img alt="" src="https://assets.leetcode.com/uploads/2024/06/16/br.png" style="width: 150px; height: 135px; padding: 10px;" /><br />
|
||||
上图显示了唯一可能的排列方式。</p>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>1 <= red, blue <= 100</code></li>
|
||||
</ul>
|
@@ -0,0 +1,65 @@
|
||||
<p>给你一个下标从 <strong>0</strong> 开始的整数数组 <code>enemyEnergies</code> ,它表示一个下标从 <strong>0</strong> 开始的敌人能量数组。</p>
|
||||
|
||||
<p>同时给你一个整数 <code>currentEnergy</code> ,它表示你一开始拥有的能量值总量。</p>
|
||||
|
||||
<p>你一开始的分数为 <code>0</code> ,且一开始所有的敌人都未标记。</p>
|
||||
|
||||
<p>你可以通过以下操作 <b>之一</b> <strong>任意次</strong>(也可以 <strong>0</strong> 次)来得分:</p>
|
||||
|
||||
<ul>
|
||||
<li>选择一个 <strong>未标记</strong> 且满足 <code>currentEnergy >= enemyEnergies[i]</code> 的敌人 <code>i</code> 。在这个操作中:
|
||||
|
||||
<ul>
|
||||
<li>你会获得 <code>1</code> 分。</li>
|
||||
<li>你的能量值减少 <code>enemyEnergies[i]</code> ,也就是说 <code>currentEnergy = currentEnergy - enemyEnergies[i]</code> 。</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>如果你目前 <strong>至少</strong> 有 <code>1</code> 分,你可以选择一个 <strong>未标记</strong> 的敌人 <code>i</code> 。在这个操作中:
|
||||
<ul>
|
||||
<li>你的能量值增加 <code>enemyEnergies[i]</code> ,也就是说 <code>currentEnergy = currentEnergy + enemyEnergies[i]</code> 。</li>
|
||||
<li>敌人 <code>i</code> <strong>被标记</strong> 。</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>请你返回通过以上操作,<strong>最多</strong> 可以获得多少分。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>示例 1:</strong></p>
|
||||
|
||||
<p><b>输入:</b>enemyEnergies = [3,2,2], currentEnergy = 2</p>
|
||||
|
||||
<p><b>输出:</b>3</p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p>通过以下操作可以得到最大得分 3 分:</p>
|
||||
|
||||
<ul>
|
||||
<li>对敌人 1 使用第一种操作:<code>points</code> 增加 1 ,<code>currentEnergy</code> 减少 2 。所以 <code>points = 1</code> 且 <code>currentEnergy = 0</code> 。</li>
|
||||
<li>对敌人 0 使用第二种操作:<code>currentEnergy</code> 增加 3 ,敌人 0 被标记。所以 <code>points = 1</code> ,<code>currentEnergy = 3</code> ,被标记的敌人包括 <code>[0]</code> 。</li>
|
||||
<li>对敌人 2 使用第一种操作:<code>points</code> 增加 1 ,<code>currentEnergy</code> 减少 2 。所以 <code>points = 2</code> 且 <code>currentEnergy = 1</code> ,被标记的敌人包括<code>[0]</code> 。</li>
|
||||
<li>对敌人 2 使用第二种操作:<code>currentEnergy</code> 增加 2 ,敌人 2 被标记。所以 <code>points = 2</code> ,<code>currentEnergy = 3</code> 且被标记的敌人包括 <code>[0, 2]</code> 。</li>
|
||||
<li>对敌人 1 使用第一种操作:<code>points</code> 增加 1 ,<code>currentEnergy</code> 减少 2 。所以 <code>points = 3</code> ,<code>currentEnergy = 1</code> ,被标记的敌人包括 <code>[0, 2]</code> 。</li>
|
||||
</ul>
|
||||
|
||||
<p><strong>示例 2:</strong></p>
|
||||
|
||||
<p><b>输入:</b>enemyEnergies = [2], currentEnergy = 10</p>
|
||||
|
||||
<p><b>输出:</b>5</p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p>通过对敌人 0 进行第一种操作 5 次,得到最大得分。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>1 <= enemyEnergies.length <= 10<sup>5</sup></code></li>
|
||||
<li><code>1 <= enemyEnergies[i] <= 10<sup>9</sup></code></li>
|
||||
<li><code>0 <= currentEnergy <= 10<sup>9</sup></code></li>
|
||||
</ul>
|
@@ -0,0 +1,38 @@
|
||||
<p>给你一个仅由数字组成的字符串 <code>s</code>,在最多交换一次 <strong>相邻 </strong>且具有相同 <strong>奇偶性 </strong>的数字后,返回可以得到的<span data-keyword="lexicographically-smaller-string">字典序最小的字符串</span>。</p>
|
||||
|
||||
<p>如果两个数字都是奇数或都是偶数,则它们具有相同的奇偶性。例如,5 和 9、2 和 4 奇偶性相同,而 6 和 9 奇偶性不同。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong class="example">示例 1:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">s = "45320"</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">"43520"</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p><code>s[1] == '5'</code> 和 <code>s[2] == '3'</code> 都具有相同的奇偶性,交换它们可以得到字典序最小的字符串。</p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 2:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">s = "001"</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">"001"</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p>无需进行交换,因为 <code>s</code> 已经是字典序最小的。</p>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>2 <= s.length <= 100</code></li>
|
||||
<li><code>s</code> 仅由数字组成。</li>
|
||||
</ul>
|
@@ -0,0 +1,51 @@
|
||||
<p>给你一个整数数组 <code>colors</code> ,它表示一个由红色和蓝色瓷砖组成的环,第 <code>i</code> 块瓷砖的颜色为 <code>colors[i]</code> :</p>
|
||||
|
||||
<ul>
|
||||
<li><code>colors[i] == 0</code> 表示第 <code>i</code> 块瓷砖的颜色是 <strong>红色</strong> 。</li>
|
||||
<li><code>colors[i] == 1</code> 表示第 <code>i</code> 块瓷砖的颜色是 <strong>蓝色</strong> 。</li>
|
||||
</ul>
|
||||
|
||||
<p>环中连续 3 块瓷砖的颜色如果是 <strong>交替</strong> 颜色(也就是说中间瓷砖的颜色与它<strong> 左边</strong> 和 <strong>右边</strong> 的颜色都不同),那么它被称为一个 <strong>交替</strong> 组。</p>
|
||||
|
||||
<p>请你返回 <strong>交替</strong> 组的数目。</p>
|
||||
|
||||
<p><b>注意</b> ,由于 <code>colors</code> 表示一个 <strong>环</strong> ,<strong>第一块</strong> 瓷砖和 <strong>最后一块</strong> 瓷砖是相邻的。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong class="example">示例 1:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><span class="example-io"><b>输入:</b>colors = [1,1,1]</span></p>
|
||||
|
||||
<p><span class="example-io"><b>输出:</b>0</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p><img alt="" src="https://assets.leetcode.com/uploads/2024/05/16/image_2024-05-16_23-53-171.png" style="width: 150px; height: 150px; padding: 10px; background: #fff; border-radius: .5rem;" /></p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 2:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><span class="example-io"><b>输入:</b>colors = [0,1,0,0,1]</span></p>
|
||||
|
||||
<p><b>输出:</b>3</p>
|
||||
|
||||
<p><b>解释:</b></p>
|
||||
|
||||
<p><img alt="" src="https://assets.leetcode.com/uploads/2024/05/16/image_2024-05-16_23-47-491.png" style="width: 150px; height: 150px; padding: 10px; background: #fff; border-radius: .5rem;" /></p>
|
||||
|
||||
<p>交替组包括:</p>
|
||||
|
||||
<p><strong class="example"><img alt="" src="https://assets.leetcode.com/uploads/2024/05/16/image_2024-05-16_23-50-441.png" style="width: 150px; height: 150px; padding: 10px; background: #fff; border-radius: .5rem;" /></strong><img alt="" src="https://assets.leetcode.com/uploads/2024/05/16/image_2024-05-16_23-48-211.png" style="width: 150px; height: 150px; padding: 10px; background: #fff; border-radius: .5rem;" /><strong class="example"><img alt="" src="https://assets.leetcode.com/uploads/2024/05/16/image_2024-05-16_23-49-351.png" style="width: 150px; height: 150px; padding: 10px; background: #fff; border-radius: .5rem;" /></strong></p>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>3 <= colors.length <= 100</code></li>
|
||||
<li><code>0 <= colors[i] <= 1</code></li>
|
||||
</ul>
|
@@ -0,0 +1,66 @@
|
||||
<p>给你一个整数数组 <code>colors</code> 和一个整数 <code>k</code> ,<code>colors</code>表示一个由红色和蓝色瓷砖组成的环,第 <code>i</code> 块瓷砖的颜色为 <code>colors[i]</code> :</p>
|
||||
|
||||
<ul>
|
||||
<li><code>colors[i] == 0</code> 表示第 <code>i</code> 块瓷砖的颜色是 <strong>红色</strong> 。</li>
|
||||
<li><code>colors[i] == 1</code> 表示第 <code>i</code> 块瓷砖的颜色是 <strong>蓝色</strong> 。</li>
|
||||
</ul>
|
||||
|
||||
<p>环中连续 <code>k</code> 块瓷砖的颜色如果是 <strong>交替</strong> 颜色(也就是说除了第一块和最后一块瓷砖以外,中间瓷砖的颜色与它<strong> 左边</strong> 和 <strong>右边</strong> 的颜色都不同),那么它被称为一个 <strong>交替</strong> 组。</p>
|
||||
|
||||
<p>请你返回 <strong>交替</strong> 组的数目。</p>
|
||||
|
||||
<p><b>注意</b> ,由于 <code>colors</code> 表示一个 <strong>环</strong> ,<strong>第一块</strong> 瓷砖和 <strong>最后一块</strong> 瓷砖是相邻的。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong class="example">示例 1:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><span class="example-io"><b>输入:</b>colors = [0,1,0,1,0], k = 3</span></p>
|
||||
|
||||
<p><span class="example-io"><b>输出:</b>3</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p><img alt="" src="https://assets.leetcode.com/uploads/2024/06/19/screenshot-2024-05-28-183519.png" style="width: 150px; height: 150px; padding: 10px; background: #fff; border-radius: .5rem;" /></p>
|
||||
|
||||
<p>交替组包括:</p>
|
||||
|
||||
<p><strong class="example"><img alt="" src="https://assets.leetcode.com/uploads/2024/05/28/screenshot-2024-05-28-182448.png" style="width: 150px; height: 150px; padding: 10px; background: #fff; border-radius: .5rem;" /></strong><img alt="" src="https://assets.leetcode.com/uploads/2024/05/28/screenshot-2024-05-28-182844.png" style="width: 150px; height: 150px; padding: 10px; background: #fff; border-radius: .5rem;" /><strong class="example"><img alt="" src="https://assets.leetcode.com/uploads/2024/05/28/screenshot-2024-05-28-183057.png" style="width: 150px; height: 150px; padding: 10px; background: #fff; border-radius: .5rem;" /></strong></p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 2:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><span class="example-io"><b>输入:</b>colors = [0,1,0,0,1,0,1], k = 6</span></p>
|
||||
|
||||
<p><b>输出:</b>2</p>
|
||||
|
||||
<p><b>解释:</b></p>
|
||||
|
||||
<p><img alt="" src="https://assets.leetcode.com/uploads/2024/06/19/screenshot-2024-05-28-183907.png" style="width: 150px; height: 150px; padding: 10px; background: #fff; border-radius: .5rem;" /></p>
|
||||
|
||||
<p>交替组包括:</p>
|
||||
|
||||
<p><strong class="example"><img alt="" src="https://assets.leetcode.com/uploads/2024/06/19/screenshot-2024-05-28-184128.png" style="width: 150px; height: 150px; padding: 10px; background: #fff; border-radius: .5rem;" /></strong><img alt="" src="https://assets.leetcode.com/uploads/2024/06/19/screenshot-2024-05-28-184240.png" style="width: 150px; height: 150px; padding: 10px; background: #fff; border-radius: .5rem;" /></p>
|
||||
|
||||
<p><strong>示例 3:</strong></p>
|
||||
|
||||
<p><strong>输入:</strong>colors = [1,1,0,1], k = 4</p>
|
||||
|
||||
<p><strong>输出:</strong>0</p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p><img alt="" src="https://assets.leetcode.com/uploads/2024/06/19/screenshot-2024-05-28-184516.png" style="width: 150px; height: 150px; padding: 10px; background: #fff; border-radius: .5rem;" /></p>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>3 <= colors.length <= 10<sup>5</sup></code></li>
|
||||
<li><code>0 <= colors[i] <= 1</code></li>
|
||||
<li><code>3 <= k <= colors.length</code></li>
|
||||
</ul>
|
@@ -0,0 +1,58 @@
|
||||
<p>给你一个整数数组 <code>nums</code> 和一个链表的头节点 <code>head</code>。从链表中<strong>移除</strong>所有存在于 <code>nums</code> 中的节点后,返回修改后的链表的头节点。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong class="example">示例 1:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">nums = [1,2,3], head = [1,2,3,4,5]</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">[4,5]</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p><strong><img alt="" src="https://assets.leetcode.com/uploads/2024/06/11/linkedlistexample0.png" style="width: 400px; height: 66px;" /></strong></p>
|
||||
|
||||
<p>移除数值为 1, 2 和 3 的节点。</p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 2:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">nums = [1], head = [1,2,1,2,1,2]</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">[2,2,2]</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p><img alt="" src="https://assets.leetcode.com/uploads/2024/06/11/linkedlistexample1.png" style="height: 62px; width: 450px;" /></p>
|
||||
|
||||
<p>移除数值为 1 的节点。</p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 3:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">nums = [5], head = [1,2,3,4]</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">[1,2,3,4]</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p><strong><img alt="" src="https://assets.leetcode.com/uploads/2024/06/11/linkedlistexample2.png" style="width: 400px; height: 83px;" /></strong></p>
|
||||
|
||||
<p>链表中不存在值为 5 的节点。</p>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>1 <= nums.length <= 10<sup>5</sup></code></li>
|
||||
<li><code>1 <= nums[i] <= 10<sup>5</sup></code></li>
|
||||
<li><code>nums</code> 中的所有元素都是唯一的。</li>
|
||||
<li>链表中的节点数在 <code>[1, 10<sup>5</sup>]</code> 的范围内。</li>
|
||||
<li><code>1 <= Node.val <= 10<sup>5</sup></code></li>
|
||||
<li>输入保证链表中至少有一个值没有在 <code>nums</code> 中出现过。</li>
|
||||
</ul>
|
@@ -0,0 +1,74 @@
|
||||
<p>有一个 <code>m x n</code> 大小的矩形蛋糕,需要切成 <code>1 x 1</code> 的小块。</p>
|
||||
|
||||
<p>给你整数 <code>m</code> ,<code>n</code> 和两个数组:</p>
|
||||
|
||||
<ul>
|
||||
<li><code>horizontalCut</code> 的大小为 <code>m - 1</code> ,其中 <code>horizontalCut[i]</code> 表示沿着水平线 <code>i</code> 切蛋糕的开销。</li>
|
||||
<li><code>verticalCut</code> 的大小为 <code>n - 1</code> ,其中 <code>verticalCut[j]</code> 表示沿着垂直线 <code>j</code> 切蛋糕的开销。</li>
|
||||
</ul>
|
||||
|
||||
<p>一次操作中,你可以选择任意不是 <code>1 x 1</code> 大小的矩形蛋糕并执行以下操作之一:</p>
|
||||
|
||||
<ol>
|
||||
<li>沿着水平线 <code>i</code> 切开蛋糕,开销为 <code>horizontalCut[i]</code> 。</li>
|
||||
<li>沿着垂直线 <code>j</code> 切开蛋糕,开销为 <code>verticalCut[j]</code> 。</li>
|
||||
</ol>
|
||||
|
||||
<p>每次操作后,这块蛋糕都被切成两个独立的小蛋糕。</p>
|
||||
|
||||
<p>每次操作的开销都为最开始对应切割线的开销,并且不会改变。</p>
|
||||
|
||||
<p>请你返回将蛋糕全部切成 <code>1 x 1</code> 的蛋糕块的 <strong>最小</strong> 总开销。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong class="example">示例 1:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><span class="example-io"><b>输入:</b>m = 3, n = 2, horizontalCut = [1,3], verticalCut = [5]</span></p>
|
||||
|
||||
<p><span class="example-io"><b>输出:</b>13</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p><img alt="" src="https://assets.leetcode.com/uploads/2024/06/04/ezgifcom-animated-gif-maker-1.gif" style="width: 280px; height: 320px;" /></p>
|
||||
|
||||
<ul>
|
||||
<li>沿着垂直线 0 切开蛋糕,开销为 5 。</li>
|
||||
<li>沿着水平线 0 切开 <code>3 x 1</code> 的蛋糕块,开销为 1 。</li>
|
||||
<li>沿着水平线 0 切开 <code>3 x 1</code> 的蛋糕块,开销为 1 。</li>
|
||||
<li>沿着水平线 1 切开 <code>2 x 1</code> 的蛋糕块,开销为 3 。</li>
|
||||
<li>沿着水平线 1 切开 <code>2 x 1</code> 的蛋糕块,开销为 3 。</li>
|
||||
</ul>
|
||||
|
||||
<p>总开销为 <code>5 + 1 + 1 + 3 + 3 = 13</code> 。</p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 2:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><span class="example-io"><b>输入:</b>m = 2, n = 2, horizontalCut = [7], verticalCut = [4]</span></p>
|
||||
|
||||
<p><span class="example-io"><b>输出:</b>15</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li>沿着水平线 0 切开蛋糕,开销为 7 。</li>
|
||||
<li>沿着垂直线 0 切开 <code>1 x 2</code> 的蛋糕块,开销为 4 。</li>
|
||||
<li>沿着垂直线 0 切开 <code>1 x 2</code> 的蛋糕块,开销为 4 。</li>
|
||||
</ul>
|
||||
|
||||
<p>总开销为 <code>7 + 4 + 4 = 15</code> 。</p>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>1 <= m, n <= 20</code></li>
|
||||
<li><code>horizontalCut.length == m - 1</code></li>
|
||||
<li><code>verticalCut.length == n - 1</code></li>
|
||||
<li><code>1 <= horizontalCut[i], verticalCut[i] <= 10<sup>3</sup></code></li>
|
||||
</ul>
|
@@ -0,0 +1,74 @@
|
||||
<p>有一个 <code>m x n</code> 大小的矩形蛋糕,需要切成 <code>1 x 1</code> 的小块。</p>
|
||||
|
||||
<p>给你整数 <code>m</code> ,<code>n</code> 和两个数组:</p>
|
||||
|
||||
<ul>
|
||||
<li><code>horizontalCut</code> 的大小为 <code>m - 1</code> ,其中 <code>horizontalCut[i]</code> 表示沿着水平线 <code>i</code> 切蛋糕的开销。</li>
|
||||
<li><code>verticalCut</code> 的大小为 <code>n - 1</code> ,其中 <code>verticalCut[j]</code> 表示沿着垂直线 <code>j</code> 切蛋糕的开销。</li>
|
||||
</ul>
|
||||
|
||||
<p>一次操作中,你可以选择任意不是 <code>1 x 1</code> 大小的矩形蛋糕并执行以下操作之一:</p>
|
||||
|
||||
<ol>
|
||||
<li>沿着水平线 <code>i</code> 切开蛋糕,开销为 <code>horizontalCut[i]</code> 。</li>
|
||||
<li>沿着垂直线 <code>j</code> 切开蛋糕,开销为 <code>verticalCut[j]</code> 。</li>
|
||||
</ol>
|
||||
|
||||
<p>每次操作后,这块蛋糕都被切成两个独立的小蛋糕。</p>
|
||||
|
||||
<p>每次操作的开销都为最开始对应切割线的开销,并且不会改变。</p>
|
||||
|
||||
<p>请你返回将蛋糕全部切成 <code>1 x 1</code> 的蛋糕块的 <strong>最小</strong> 总开销。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong class="example">示例 1:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><span class="example-io"><b>输入:</b>m = 3, n = 2, horizontalCut = [1,3], verticalCut = [5]</span></p>
|
||||
|
||||
<p><span class="example-io"><b>输出:</b>13</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p><img alt="" src="https://assets.leetcode.com/uploads/2024/06/04/ezgifcom-animated-gif-maker-1.gif" style="width: 280px; height: 320px;" /></p>
|
||||
|
||||
<ul>
|
||||
<li>沿着垂直线 0 切开蛋糕,开销为 5 。</li>
|
||||
<li>沿着水平线 0 切开 <code>3 x 1</code> 的蛋糕块,开销为 1 。</li>
|
||||
<li>沿着水平线 0 切开 <code>3 x 1</code> 的蛋糕块,开销为 1 。</li>
|
||||
<li>沿着水平线 1 切开 <code>2 x 1</code> 的蛋糕块,开销为 3 。</li>
|
||||
<li>沿着水平线 1 切开 <code>2 x 1</code> 的蛋糕块,开销为 3 。</li>
|
||||
</ul>
|
||||
|
||||
<p>总开销为 <code>5 + 1 + 1 + 3 + 3 = 13</code> 。</p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 2:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><span class="example-io"><b>输入:</b>m = 2, n = 2, horizontalCut = [7], verticalCut = [4]</span></p>
|
||||
|
||||
<p><span class="example-io"><b>输出:</b>15</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li>沿着水平线 0 切开蛋糕,开销为 7 。</li>
|
||||
<li>沿着垂直线 0 切开 <code>1 x 2</code> 的蛋糕块,开销为 4 。</li>
|
||||
<li>沿着垂直线 0 切开 <code>1 x 2</code> 的蛋糕块,开销为 4 。</li>
|
||||
</ul>
|
||||
|
||||
<p>总开销为 <code>7 + 4 + 4 = 15</code> 。</p>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>1 <= m, n <= 10<sup>5</sup></code></li>
|
||||
<li><code>horizontalCut.length == m - 1</code></li>
|
||||
<li><code>verticalCut.length == n - 1</code></li>
|
||||
<li><code>1 <= horizontalCut[i], verticalCut[i] <= 10<sup>3</sup></code></li>
|
||||
</ul>
|
@@ -0,0 +1,49 @@
|
||||
<p>给你两棵 <strong>无向</strong> 树,分别有 <code>n</code> 和 <code>m</code> 个节点,节点编号分别为 <code>0</code> 到 <code>n - 1</code> 和 <code>0</code> 到 <code>m - 1</code> 。给你两个二维整数数组 <code>edges1</code> 和 <code>edges2</code> ,长度分别为 <code>n - 1</code> 和 <code>m - 1</code> ,其中 <code>edges1[i] = [a<sub>i</sub>, b<sub>i</sub>]</code> 表示在第一棵树中节点 <code>a<sub>i</sub></code> 和 <code>b<sub>i</sub></code> 之间有一条边,<code>edges2[i] = [u<sub>i</sub>, v<sub>i</sub>]</code> 表示在第二棵树中节点 <code>u<sub>i</sub></code> 和 <code>v<sub>i</sub></code> 之间有一条边。</p>
|
||||
|
||||
<p>你必须在第一棵树和第二棵树中分别选一个节点,并用一条边连接它们。</p>
|
||||
|
||||
<p>请你返回添加边后得到的树中,<strong>最小直径</strong> 为多少。</p>
|
||||
|
||||
<p>一棵树的 <strong>直径</strong> 指的是树中任意两个节点之间的最长路径长度。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><b>示例 1:</b><img alt="" src="https://assets.leetcode.com/uploads/2024/04/22/example11-transformed.png" style="width: 1000px; height: 494px;" /></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><span class="example-io"><b>输入:</b>edges1 = [[0,1],[0,2],[0,3]], edges2 = [[0,1]]</span></p>
|
||||
|
||||
<p><span class="example-io"><b>输出:</b>3</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p>将第一棵树中的节点 0 与第二棵树中的任意节点连接,得到一棵直径为 3 的树。</p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 2:<img alt="" src="https://assets.leetcode.com/uploads/2024/04/22/example211.png" style="width: 1000px; height: 492px;" /></strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><span class="example-io"><b>输入:</b>edges1 = [[0,1],[0,2],[0,3],[2,4],[2,5],[3,6],[2,7]], edges2 = [[0,1],[0,2],[0,3],[2,4],[2,5],[3,6],[2,7]]</span></p>
|
||||
|
||||
<p><span class="example-io"><b>输出:</b>5</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p>将第一棵树中的节点 0 和第二棵树中的节点 0 连接,可以得到一棵直径为 5 的树。</p>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>1 <= n, m <= 10<sup>5</sup></code></li>
|
||||
<li><code>edges1.length == n - 1</code></li>
|
||||
<li><code>edges2.length == m - 1</code></li>
|
||||
<li><code>edges1[i].length == edges2[i].length == 2</code></li>
|
||||
<li><code>edges1[i] = [a<sub>i</sub>, b<sub>i</sub>]</code></li>
|
||||
<li><code>0 <= a<sub>i</sub>, b<sub>i</sub> < n</code></li>
|
||||
<li><code>edges2[i] = [u<sub>i</sub>, v<sub>i</sub>]</code></li>
|
||||
<li><code>0 <= u<sub>i</sub>, v<sub>i</sub> < m</code></li>
|
||||
<li>输入保证 <code>edges1</code> 和 <code>edges2</code> 分别表示一棵合法的树。</li>
|
||||
</ul>
|
@@ -0,0 +1,48 @@
|
||||
<p>给你一个整数数组 <code>nums</code> 和一个整数 <code>k</code> ,请你返回 <code>nums</code> 中有多少个<span data-keyword="subarray-nonempty">子数组</span>满足:子数组中所有元素按位 <code>AND</code> 的结果为 <code>k</code> 。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong class="example">示例 1:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><span class="example-io"><b>输入:</b>nums = [1,1,1], k = 1</span></p>
|
||||
|
||||
<p><span class="example-io"><b>输出:</b>6</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p>所有子数组都只含有元素 1 。</p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 2:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><span class="example-io"><b>输入:</b>nums = [1,1,2], k = 1</span></p>
|
||||
|
||||
<p><span class="example-io"><b>输出:</b>3</span></p>
|
||||
|
||||
<p><b>解释:</b></p>
|
||||
|
||||
<p>按位 <code>AND</code> 值为 1 的子数组包括:<code>[<u><strong>1</strong></u>,1,2]</code>, <code>[1,<u><strong>1</strong></u>,2]</code>, <code>[<u><strong>1,1</strong></u>,2]</code> 。</p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 3:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><span class="example-io"><b>输入:</b>nums = [1,2,3], k = 2</span></p>
|
||||
|
||||
<p><span class="example-io"><b>输出:</b>2</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p>按位 <code>AND</code> 值为 2 的子数组包括:<code>[1,<b><u>2</u></b>,3]</code>, <code>[1,<u><strong>2,3</strong></u>]</code> 。</p>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>1 <= nums.length <= 10<sup>5</sup></code></li>
|
||||
<li><code>0 <= nums[i], k <= 10<sup>9</sup></code></li>
|
||||
</ul>
|
@@ -0,0 +1,48 @@
|
||||
<p>给你一个字符串 <code>s</code> 和一个整数 <code>k</code>。请你使用以下算法加密字符串:</p>
|
||||
|
||||
<ul>
|
||||
<li>对于字符串 <code>s</code> 中的每个字符 <code>c</code>,用字符串中 <code>c</code> 后面的第 <code>k</code> 个字符替换 <code>c</code>(以循环方式)。</li>
|
||||
</ul>
|
||||
|
||||
<p>返回加密后的字符串。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong class="example">示例 1:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">s = "dart", k = 3</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">"tdar"</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li>对于 <code>i = 0</code>,<code>'d'</code> 后面的第 3 个字符是 <code>'t'</code>。</li>
|
||||
<li>对于 <code>i = 1</code>,<code>'a'</code> 后面的第 3 个字符是 <code>'d'</code>。</li>
|
||||
<li>对于 <code>i = 2</code>,<code>'r'</code> 后面的第 3 个字符是 <code>'a'</code>。</li>
|
||||
<li>对于 <code>i = 3</code>,<code>'t'</code> 后面的第 3 个字符是 <code>'r'</code>。</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 2:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">s = "aaa", k = 1</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">"aaa"</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p>由于所有字符都相同,加密后的字符串也将相同。</p>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>1 <= s.length <= 100</code></li>
|
||||
<li><code>1 <= k <= 10<sup>4</sup></code></li>
|
||||
<li><code>s</code> 仅由小写英文字母组成。</li>
|
||||
</ul>
|
@@ -0,0 +1,58 @@
|
||||
<p>给你一个整数数组 <code>nums</code>。</p>
|
||||
|
||||
<p><code>nums</code> 的子序列 <code>sub</code> 的长度为 <code>x</code> ,如果其满足以下条件,则称其为 <strong>有效子序列</strong>:</p>
|
||||
|
||||
<ul>
|
||||
<li><code>(sub[0] + sub[1]) % 2 == (sub[1] + sub[2]) % 2 == ... == (sub[x - 2] + sub[x - 1]) % 2</code></li>
|
||||
</ul>
|
||||
|
||||
<p>返回 <code>nums</code> 的 <strong>最长的有效子序列</strong> 的长度。</p>
|
||||
|
||||
<p>一个 <strong>子序列</strong> 指的是从原数组中删除一些元素(也可以不删除任何元素),剩余元素保持原来顺序组成的新数组。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong class="example">示例 1:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">nums = [1,2,3,4]</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">4</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p>最长的有效子序列是 <code>[1, 2, 3, 4]</code>。</p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 2:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">nums = [1,2,1,1,2,1,2]</span></p>
|
||||
|
||||
<p><strong>输出:</strong> 6</p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p>最长的有效子序列是 <code>[1, 2, 1, 2, 1, 2]</code>。</p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 3:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">nums = [1,3]</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">2</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p>最长的有效子序列是 <code>[1, 3]</code>。</p>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>2 <= nums.length <= 2 * 10<sup>5</sup></code></li>
|
||||
<li><code>1 <= nums[i] <= 10<sup>7</sup></code></li>
|
||||
</ul>
|
@@ -0,0 +1,43 @@
|
||||
给你一个整数数组 <code>nums</code> 和一个 <strong>正</strong> 整数 <code>k</code> 。
|
||||
<p><code>nums</code> 的一个 <span data-keyword="subsequence-array">子序列</span> <code>sub</code> 的长度为 <code>x</code> ,如果其满足以下条件,则称其为 <strong>有效子序列</strong> :</p>
|
||||
|
||||
<ul>
|
||||
<li><code>(sub[0] + sub[1]) % k == (sub[1] + sub[2]) % k == ... == (sub[x - 2] + sub[x - 1]) % k</code></li>
|
||||
</ul>
|
||||
返回 <code>nums</code> 的 <strong>最长</strong><strong>有效子序列</strong> 的长度。
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong class="example">示例 1:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><span class="example-io"><b>输入:</b>nums = [1,2,3,4,5], k = 2</span></p>
|
||||
|
||||
<p><span class="example-io"><b>输出:</b>5</span></p>
|
||||
|
||||
<p><b>解释:</b></p>
|
||||
|
||||
<p>最长有效子序列是 <code>[1, 2, 3, 4, 5]</code> 。</p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 2:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><span class="example-io"><b>输入:</b>nums = [1,4,2,3,1,4], k = 3</span></p>
|
||||
|
||||
<p><span class="example-io"><b>输出:</b>4</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p>最长有效子序列是 <code>[1, 4, 1, 4]</code> 。</p>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>2 <= nums.length <= 10<sup>3</sup></code></li>
|
||||
<li><code>1 <= nums[i] <= 10<sup>7</sup></code></li>
|
||||
<li><code>1 <= k <= 10<sup>3</sup></code></li>
|
||||
</ul>
|
@@ -0,0 +1,56 @@
|
||||
<p>给你一个字符串 <code>target</code>、一个字符串数组 <code>words</code> 以及一个整数数组 <code>costs</code>,这两个数组长度相同。</p>
|
||||
|
||||
<p>设想一个空字符串 <code>s</code>。</p>
|
||||
|
||||
<p>你可以执行以下操作任意次数(包括<strong>零</strong>次):</p>
|
||||
|
||||
<ul>
|
||||
<li>选择一个在范围 <code>[0, words.length - 1]</code> 的索引 <code>i</code>。</li>
|
||||
<li>将 <code>words[i]</code> 追加到 <code>s</code>。</li>
|
||||
<li>该操作的成本是 <code>costs[i]</code>。</li>
|
||||
</ul>
|
||||
|
||||
<p>返回使 <code>s</code> 等于 <code>target</code> 的 <strong>最小</strong> 成本。如果不可能,返回 <code>-1</code>。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong class="example">示例 1:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">target = "abcdef", words = ["abdef","abc","d","def","ef"], costs = [100,1,1,10,5]</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">7</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li>选择索引 1 并以成本 1 将 <code>"abc"</code> 追加到 <code>s</code>,得到 <code>s = "abc"</code>。</li>
|
||||
<li>选择索引 2 并以成本 1 将 <code>"d"</code> 追加到 <code>s</code>,得到 <code>s = "abcd"</code>。</li>
|
||||
<li>选择索引 4 并以成本 5 将 <code>"ef"</code> 追加到 <code>s</code>,得到 <code>s = "abcdef"</code>。</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 2:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">target = "aaaa", words = ["z","zz","zzz"], costs = [1,10,100]</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">-1</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p>无法使 <code>s</code> 等于 <code>target</code>,因此返回 -1。</p>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>1 <= target.length <= 5 * 10<sup>4</sup></code></li>
|
||||
<li><code>1 <= words.length == costs.length <= 5 * 10<sup>4</sup></code></li>
|
||||
<li><code>1 <= words[i].length <= target.length</code></li>
|
||||
<li>所有 <code>words[i].length</code> 的总和小于或等于 <code>5 * 10<sup>4</sup></code></li>
|
||||
<li><code>target</code> 和 <code>words[i]</code> 仅由小写英文字母组成。</li>
|
||||
<li><code>1 <= costs[i] <= 10<sup>4</sup></code></li>
|
||||
</ul>
|
@@ -0,0 +1,39 @@
|
||||
<p>给你一个正整数 <code>n</code>。</p>
|
||||
|
||||
<p>如果一个二进制字符串 <code>x</code> 的所有长度为 2 的<span data-keyword="substring-nonempty">子字符串</span>中包含 <strong>至少</strong> 一个 <code>"1"</code>,则称 <code>x</code> 是一个<strong> 有效</strong> 字符串。</p>
|
||||
|
||||
<p>返回所有长度为 <code>n</code> 的<strong> 有效</strong> 字符串,可以以任意顺序排列。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong class="example">示例 1:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">n = 3</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">["010","011","101","110","111"]</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p>长度为 3 的有效字符串有:<code>"010"</code>、<code>"011"</code>、<code>"101"</code>、<code>"110"</code> 和 <code>"111"</code>。</p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 2:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">n = 1</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">["0","1"]</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p>长度为 1 的有效字符串有:<code>"0"</code> 和 <code>"1"</code>。</p>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>1 <= n <= 18</code></li>
|
||||
</ul>
|
@@ -0,0 +1,54 @@
|
||||
<p>给你一个二维字符矩阵 <code>grid</code>,其中 <code>grid[i][j]</code> 可能是 <code>'X'</code>、<code>'Y'</code> 或 <code>'.'</code>,返回满足以下条件的<span data-keyword="submatrix">子矩阵</span>数量:</p>
|
||||
|
||||
<ul>
|
||||
<li>包含 <code>grid[0][0]</code></li>
|
||||
<li><code>'X'</code> 和 <code>'Y'</code> 的频数相等。</li>
|
||||
<li>至少包含一个 <code>'X'</code>。</li>
|
||||
</ul>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong class="example">示例 1:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">grid = [["X","Y","."],["Y",".","."]]</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">3</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p><strong><img alt="" src="https://assets.leetcode.com/uploads/2024/06/07/examplems.png" style="padding: 10px; background: rgb(255, 255, 255); border-radius: 0.5rem; width: 175px; height: 350px;" /></strong></p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 2:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">grid = [["X","X"],["X","Y"]]</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">0</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p>不存在满足 <code>'X'</code> 和 <code>'Y'</code> 频数相等的子矩阵。</p>
|
||||
</div>
|
||||
|
||||
<p><strong class="example">示例 3:</strong></p>
|
||||
|
||||
<div class="example-block">
|
||||
<p><strong>输入:</strong> <span class="example-io">grid = [[".","."],[".","."]]</span></p>
|
||||
|
||||
<p><strong>输出:</strong> <span class="example-io">0</span></p>
|
||||
|
||||
<p><strong>解释:</strong></p>
|
||||
|
||||
<p>不存在满足至少包含一个 <code>'X'</code> 的子矩阵。</p>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>1 <= grid.length, grid[i].length <= 1000</code></li>
|
||||
<li><code>grid[i][j]</code> 可能是 <code>'X'</code>、<code>'Y'</code> 或 <code>'.'</code>.</li>
|
||||
</ul>
|
Reference in New Issue
Block a user