mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
42 lines
2.0 KiB
HTML
42 lines
2.0 KiB
HTML
<p>给你两个 <strong>正整数 </strong>数组 <code>arr1</code> 和 <code>arr2</code> 。</p>
|
||
|
||
<p>正整数的 <strong>前缀 </strong>是其 <strong>最左边 </strong>的一位或多位数字组成的整数。例如,<code>123</code> 是整数 <code>12345</code> 的前缀,而 <code>234</code><strong> 不是 </strong>。</p>
|
||
|
||
<p>设若整数 <code>c</code> 是整数 <code>a</code> 和 <code>b</code> 的<strong> 公共前缀 </strong>,那么 <code>c</code> 需要同时是 <code>a</code> 和 <code>b</code> 的前缀。例如,<code>5655359</code> 和 <code>56554</code> 有公共前缀 <code>565</code> ,而 <code>1223</code> 和 <code>43456</code><strong> 没有 </strong>公共前缀。</p>
|
||
|
||
<p>你需要找出属于 <code>arr1</code> 的整数 <code>x</code> 和属于 <code>arr2</code> 的整数 <code>y</code> 组成的所有数对 <code>(x, y)</code> 之中最长的公共前缀的长度。</p>
|
||
|
||
<p>返回所有数对之中最长公共前缀的长度。如果它们之间不存在公共前缀,则返回 <code>0</code> 。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong class="example">示例 1:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>arr1 = [1,10,100], arr2 = [1000]
|
||
<strong>输出:</strong>3
|
||
<strong>解释:</strong>存在 3 个数对 (arr1[i], arr2[j]) :
|
||
- (1, 1000) 的最长公共前缀是 1 。
|
||
- (10, 1000) 的最长公共前缀是 10 。
|
||
- (100, 1000) 的最长公共前缀是 100 。
|
||
最长的公共前缀是 100 ,长度为 3 。
|
||
</pre>
|
||
|
||
<p><strong class="example">示例 2:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>arr1 = [1,2,3], arr2 = [4,4,4]
|
||
<strong>输出:</strong>0
|
||
<strong>解释:</strong>任何数对 (arr1[i], arr2[j]) 之中都不存在公共前缀,因此返回 0 。
|
||
请注意,同一个数组内元素之间的公共前缀不在考虑范围内。
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>1 <= arr1.length, arr2.length <= 5 * 10<sup>4</sup></code></li>
|
||
<li><code>1 <= arr1[i], arr2[i] <= 10<sup>8</sup></code></li>
|
||
</ul>
|