1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-09-12 02:41:42 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
Files
leetcode-problemset/leetcode-cn/problem (Chinese)/子矩阵的最小绝对差 [minimum-absolute-difference-in-sliding-submatrix].html
2025-06-18 01:10:28 +08:00

86 lines
3.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>给你一个 <code>m x n</code> 的整数矩阵 <code>grid</code> 和一个整数 <code>k</code></p>
<p>对于矩阵 <code>grid</code> 中的每个连续的 <code>k x k</code> <strong>子矩阵</strong>,计算其中任意两个&nbsp;<strong>不同</strong>值 之间的&nbsp;<strong>最小绝对差&nbsp;</strong></p>
<p>返回一个大小为 <code>(m - k + 1) x (n - k + 1)</code> 的二维数组 <code>ans</code>,其中 <code>ans[i][j]</code> 表示以 <code>grid</code> 中坐标 <code>(i, j)</code> 为左上角的子矩阵的最小绝对差。</p>
<p><strong>注意</strong>:如果子矩阵中的所有元素都相同,则答案为 0。</p>
<p>子矩阵 <code>(x1, y1, x2, y2)</code> 是一个由选择矩阵中所有满足 <code>x1 &lt;= x &lt;= x2</code><code>y1 &lt;= y &lt;= y2</code> 的单元格 <code>matrix[x][y]</code> 组成的矩阵。</p>
<p>&nbsp;</p>
<p><strong class="example">示例 1</strong></p>
<div class="example-block">
<p><strong>输入:</strong> <span class="example-io">grid = [[1,8],[3,-2]], k = 2</span></p>
<p><strong>输出:</strong> <span class="example-io">[[2]]</span></p>
<p><strong>解释:</strong></p>
<ul>
<li>只有一个可能的 <code>k x k</code> 子矩阵:<code><span class="example-io">[[1, 8], [3, -2]]</span></code></li>
<li>子矩阵中的不同值为 <code>[1, 8, 3, -2]</code></li>
<li>子矩阵中的最小绝对差为 <code>|1 - 3| = 2</code>。因此,答案为 <code>[[2]]</code></li>
</ul>
</div>
<p><strong class="example">示例 2</strong></p>
<div class="example-block">
<p><strong>输入:</strong> <span class="example-io">grid = [[3,-1]], k = 1</span></p>
<p><strong>输出:</strong> <span class="example-io">[[0,0]]</span></p>
<p><strong>解释:</strong></p>
<ul>
<li>每个 <code>k x k</code> 子矩阵中只有一个不同的元素。</li>
<li>因此,答案为 <code>[[0, 0]]</code></li>
</ul>
</div>
<p><strong class="example">示例 3</strong></p>
<div class="example-block">
<p><strong>输入:</strong> <span class="example-io">grid = [[1,-2,3],[2,3,5]], k = 2</span></p>
<p><strong>输出:</strong> <span class="example-io">[[1,2]]</span></p>
<p><strong>解释:</strong></p>
<ul>
<li>有两个可能的 <code>k × k</code> 子矩阵:
<ul>
<li><code>(0, 0)</code> 为起点的子矩阵:<code>[[1, -2], [2, 3]]</code>
<ul>
<li>子矩阵中的不同值为 <code>[1, -2, 2, 3]</code></li>
<li>子矩阵中的最小绝对差为 <code>|1 - 2| = 1</code></li>
</ul>
</li>
<li><code>(0, 1)</code> 为起点的子矩阵:<code>[[-2, 3], [3, 5]]</code>
<ul>
<li>子矩阵中的不同值为 <code>[-2, 3, 5]</code></li>
<li>子矩阵中的最小绝对差为 <code>|3 - 5| = 2</code></li>
</ul>
</li>
</ul>
</li>
<li>因此,答案为 <code>[[1, 2]]</code></li>
</ul>
</div>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= m == grid.length &lt;= 30</code></li>
<li><code>1 &lt;= n == grid[i].length &lt;= 30</code></li>
<li><code>-10<sup>5</sup> &lt;= grid[i][j] &lt;= 10<sup>5</sup></code></li>
<li><code>1 &lt;= k &lt;= min(m, n)</code></li>
</ul>