20561
20561
<ul class="md-nav__list">
20562
20562
20563
20563
<li class="md-nav__item">
20564
- <a href="#solution-1" class="md-nav__link">
20564
+ <a href="#solution-1-brain-teaser " class="md-nav__link">
20565
20565
<span class="md-ellipsis">
20566
- Solution 1
20566
+ Solution 1: Brain Teaser
20567
20567
</span>
20568
20568
</a>
20569
20569
@@ -85855,8 +85855,11 @@ <h2 id="description">Description</h2>
85855
85855
<h2 id="solutions">Solutions</h2>
85856
85856
<!-- solution:start -->
85857
85857
85858
- <h3 id="solution-1">Solution 1</h3>
85859
- <div class="tabbed-set tabbed-alternate" data-tabs="1:4"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">Java</label><label for="__tabbed_1_3">C++</label><label for="__tabbed_1_4">Go</label></div>
85858
+ <h3 id="solution-1-brain-teaser">Solution 1: Brain Teaser</h3>
85859
+ <p>We notice that the intersection of all operation submatrices is the submatrix where the final maximum integer is located, and each operation submatrix starts from the top-left corner $(0, 0)$. Therefore, we traverse all operation submatrices to find the minimum number of rows and columns. Finally, we return the product of these two values.</p>
85860
+ <p>Note that if the operation array is empty, the number of maximum integers in the matrix is $m \times n$.</p>
85861
+ <p>The time complexity is $O(k)$, where $k$ is the length of the operation array $\textit{ops}$. The space complexity is $O(1)$.</p>
85862
+ <div class="tabbed-set tabbed-alternate" data-tabs="1:7"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><input id="__tabbed_1_5" name="__tabbed_1" type="radio" /><input id="__tabbed_1_6" name="__tabbed_1" type="radio" /><input id="__tabbed_1_7" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">Java</label><label for="__tabbed_1_3">C++</label><label for="__tabbed_1_4">Go</label><label for="__tabbed_1_5">TypeScript</label><label for="__tabbed_1_6">Rust</label><label for="__tabbed_1_7">JavaScript</label></div>
85860
85863
<div class="tabbed-content">
85861
85864
<div class="tabbed-block">
85862
85865
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
@@ -85905,7 +85908,7 @@ <h3 id="solution-1">Solution 1</h3>
85905
85908
<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span><span class="w"> </span><span class="nc">Solution</span><span class="w"> </span><span class="p">{</span>
85906
85909
<span class="k">public</span><span class="o">:</span>
85907
85910
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">maxCount</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">m</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="n">vector</span><span class="o"><</span><span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">>>&</span><span class="w"> </span><span class="n">ops</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
85908
- <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">auto</span><span class="w"> </span><span class="n">op</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">ops</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
85911
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k"> auto</span><span class="o">& </span><span class="w"> </span><span class="n">op</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">ops</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
85909
85912
<span class="w"> </span><span class="n">m</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">min</span><span class="p">(</span><span class="n">m</span><span class="p">,</span><span class="w"> </span><span class="n">op</span><span class="p">[</span><span class="mi">0</span><span class="p">]);</span>
85910
85913
<span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">min</span><span class="p">(</span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="n">op</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
85911
85914
<span class="w"> </span><span class="p">}</span>
@@ -85930,6 +85933,70 @@ <h3 id="solution-1">Solution 1</h3>
85930
85933
<span class="p">}</span>
85931
85934
</code></pre></div></td></tr></table></div>
85932
85935
</div>
85936
+ <div class="tabbed-block">
85937
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
85938
+ <span class="normal">2</span>
85939
+ <span class="normal">3</span>
85940
+ <span class="normal">4</span>
85941
+ <span class="normal">5</span>
85942
+ <span class="normal">6</span>
85943
+ <span class="normal">7</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">maxCount</span><span class="p">(</span><span class="nx">m</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">,</span><span class="w"> </span><span class="nx">n</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">,</span><span class="w"> </span><span class="nx">ops</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">[][])</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="w"> </span><span class="p">{</span>
85944
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="p">[</span><span class="nx">a</span><span class="p">,</span><span class="w"> </span><span class="nx">b</span><span class="p">]</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nx">ops</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
85945
+ <span class="w"> </span><span class="nx">m</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">min</span><span class="p">(</span><span class="nx">m</span><span class="p">,</span><span class="w"> </span><span class="nx">a</span><span class="p">);</span>
85946
+ <span class="w"> </span><span class="nx">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">min</span><span class="p">(</span><span class="nx">n</span><span class="p">,</span><span class="w"> </span><span class="nx">b</span><span class="p">);</span>
85947
+ <span class="w"> </span><span class="p">}</span>
85948
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">m</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="nx">n</span><span class="p">;</span>
85949
+ <span class="p">}</span>
85950
+ </code></pre></div></td></tr></table></div>
85951
+ </div>
85952
+ <div class="tabbed-block">
85953
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
85954
+ <span class="normal">2</span>
85955
+ <span class="normal">3</span>
85956
+ <span class="normal">4</span>
85957
+ <span class="normal">5</span>
85958
+ <span class="normal">6</span>
85959
+ <span class="normal">7</span>
85960
+ <span class="normal">8</span>
85961
+ <span class="normal">9</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">impl</span><span class="w"> </span><span class="n">Solution</span><span class="w"> </span><span class="p">{</span>
85962
+ <span class="w"> </span><span class="k">pub</span><span class="w"> </span><span class="k">fn</span><span class="w"> </span><span class="nf">max_count</span><span class="p">(</span><span class="k">mut</span><span class="w"> </span><span class="n">m</span><span class="p">:</span><span class="w"> </span><span class="kt">i32</span><span class="p">,</span><span class="w"> </span><span class="k">mut</span><span class="w"> </span><span class="n">n</span><span class="p">:</span><span class="w"> </span><span class="kt">i32</span><span class="p">,</span><span class="w"> </span><span class="n">ops</span><span class="p">:</span><span class="w"> </span><span class="nb">Vec</span><span class="o"><</span><span class="nb">Vec</span><span class="o"><</span><span class="kt">i32</span><span class="o">>></span><span class="p">)</span><span class="w"> </span><span class="p">-></span><span class="w"> </span><span class="kt">i32</span><span class="w"> </span><span class="p">{</span>
85963
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">op</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">ops</span><span class="w"> </span><span class="p">{</span>
85964
+ <span class="w"> </span><span class="n">m</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">m</span><span class="p">.</span><span class="n">min</span><span class="p">(</span><span class="n">op</span><span class="p">[</span><span class="mi">0</span><span class="p">]);</span>
85965
+ <span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">n</span><span class="p">.</span><span class="n">min</span><span class="p">(</span><span class="n">op</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
85966
+ <span class="w"> </span><span class="p">}</span>
85967
+ <span class="w"> </span><span class="n">m</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">n</span>
85968
+ <span class="w"> </span><span class="p">}</span>
85969
+ <span class="p">}</span>
85970
+ </code></pre></div></td></tr></table></div>
85971
+ </div>
85972
+ <div class="tabbed-block">
85973
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
85974
+ <span class="normal"> 2</span>
85975
+ <span class="normal"> 3</span>
85976
+ <span class="normal"> 4</span>
85977
+ <span class="normal"> 5</span>
85978
+ <span class="normal"> 6</span>
85979
+ <span class="normal"> 7</span>
85980
+ <span class="normal"> 8</span>
85981
+ <span class="normal"> 9</span>
85982
+ <span class="normal">10</span>
85983
+ <span class="normal">11</span>
85984
+ <span class="normal">12</span>
85985
+ <span class="normal">13</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="cm">/**</span>
85986
+ <span class="cm"> * @param {number} m</span>
85987
+ <span class="cm"> * @param {number} n</span>
85988
+ <span class="cm"> * @param {number[][]} ops</span>
85989
+ <span class="cm"> * @return {number}</span>
85990
+ <span class="cm"> */</span>
85991
+ <span class="kd">var</span><span class="w"> </span><span class="nx">maxCount</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="p">(</span><span class="nx">m</span><span class="p">,</span><span class="w"> </span><span class="nx">n</span><span class="p">,</span><span class="w"> </span><span class="nx">ops</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
85992
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="p">[</span><span class="nx">a</span><span class="p">,</span><span class="w"> </span><span class="nx">b</span><span class="p">]</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nx">ops</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
85993
+ <span class="w"> </span><span class="nx">m</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">min</span><span class="p">(</span><span class="nx">m</span><span class="p">,</span><span class="w"> </span><span class="nx">a</span><span class="p">);</span>
85994
+ <span class="w"> </span><span class="nx">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">min</span><span class="p">(</span><span class="nx">n</span><span class="p">,</span><span class="w"> </span><span class="nx">b</span><span class="p">);</span>
85995
+ <span class="w"> </span><span class="p">}</span>
85996
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">m</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="nx">n</span><span class="p">;</span>
85997
+ <span class="p">};</span>
85998
+ </code></pre></div></td></tr></table></div>
85999
+ </div>
85933
86000
</div>
85934
86001
</div>
85935
86002
<!-- solution:end -->
0 commit comments