1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-10 18:48:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/出现频率最高的质数 [most-frequent-prime].html
2024-02-19 15:29:53 +08:00

67 lines
3.7 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> 、下标从 <strong>0</strong> 开始的二维矩阵 <code>mat</code> 。在每个单元格,你可以按以下方式生成数字:</p>
<ul>
<li>最多有 <code>8</code> 条路径可以选择:东,东南,南,西南,西,西北,北,东北。</li>
<li>选择其中一条路径,沿着这个方向移动,并且将路径上的数字添加到正在形成的数字后面。</li>
<li>注意,每一步都会生成数字,例如,如果路径上的数字是 <code>1, 9, 1</code>,那么在这个方向上会生成三个数字:<code>1, 19, 191</code></li>
</ul>
<p>返回在遍历矩阵所创建的所有数字中,出现频率最高的、<strong>大于</strong> <code>10</code><span data-keyword="prime-number">质数</span>;如果不存在这样的质数,则返回 <code>-1</code><em> </em>。如果存在多个出现频率最高的质数,那么返回其中最大的那个。</p>
<p><strong>注意:</strong>移动过程中不允许改变方向。</p>
<p>&nbsp;</p>
<p><strong class="example">示例 1</strong></p>
<strong><img alt="" src="https://assets.leetcode.com/uploads/2024/02/15/south" style="width: 641px; height: 291px;" /> </strong>
<pre>
<strong>
输入:</strong>mat = [[1,1],[9,9],[1,1]]
<strong>输出:</strong>19
<strong>解释:</strong>
从单元格 (0,0) 出发,有 3 个可能的方向,这些方向上可以生成的大于 10 的数字有:
东方向: [11], 东南方向: [19], 南方向: [19,191] 。
从单元格 (0,1) 出发,所有可能方向上生成的大于 10 的数字有:[19,191,19,11] 。
从单元格 (1,0) 出发,所有可能方向上生成的大于 10 的数字有:[99,91,91,91,91] 。
从单元格 (1,1) 出发,所有可能方向上生成的大于 10 的数字有:[91,91,99,91,91] 。
从单元格 (2,0) 出发,所有可能方向上生成的大于 10 的数字有:[11,19,191,19] 。
从单元格 (2,1) 出发,所有可能方向上生成的大于 10 的数字有:[11,19,19,191] 。
在所有生成的数字中,出现频率最高的质数是 19 。</pre>
<p><strong class="example">示例 2</strong></p>
<pre>
<strong>输入:</strong>mat = [[7]]
<strong>输出:</strong>-1
<strong>解释:</strong>唯一可以生成的数字是 7 。它是一个质数,但不大于 10 ,所以返回 -1 。</pre>
<p><strong class="example">示例 3</strong></p>
<pre>
<strong>输入:</strong>mat = [[9,7,8],[4,6,5],[2,8,6]]
<strong>输出:</strong>97
<strong>解释:</strong>
从单元格 (0,0) 出发,所有可能方向上生成的大于 10 的数字有: [97,978,96,966,94,942] 。
从单元格 (0,1) 出发,所有可能方向上生成的大于 10 的数字有: [78,75,76,768,74,79] 。
从单元格 (0,2) 出发,所有可能方向上生成的大于 10 的数字有: [85,856,86,862,87,879] 。
从单元格 (1,0) 出发,所有可能方向上生成的大于 10 的数字有: [46,465,48,42,49,47] 。
从单元格 (1,1) 出发,所有可能方向上生成的大于 10 的数字有: [65,66,68,62,64,69,67,68] 。
从单元格 (1,2) 出发,所有可能方向上生成的大于 10 的数字有: [56,58,56,564,57,58] 。
从单元格 (2,0) 出发,所有可能方向上生成的大于 10 的数字有: [28,286,24,249,26,268] 。
从单元格 (2,1) 出发,所有可能方向上生成的大于 10 的数字有: [86,82,84,86,867,85] 。
从单元格 (2,2) 出发,所有可能方向上生成的大于 10 的数字有: [68,682,66,669,65,658] 。
在所有生成的数字中,出现频率最高的质数是 97 。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>m == mat.length</code></li>
<li><code>n == mat[i].length</code></li>
<li><code>1 &lt;= m, n &lt;= 6</code></li>
<li><code>1 &lt;= mat[i][j] &lt;= 9</code></li>
</ul>