@@ -77779,7 +77779,7 @@ <h3 id="solution-1-greedy-sorting">Solution 1: Greedy + Sorting</h3>
77779
77779
<p>We can sort all the points according to the x-coordinate and use a variable $x_1$ to record the current x-coordinate of the lower left corner of the rectangle. Then we traverse all the points. If the x-coordinate $x$ of the current point is greater than $x_1 + w$, it means that the current point cannot be covered by the current rectangle. We need to add a new rectangle and update $x_1$ to the x-coordinate of the current point.</p>
77780
77780
<p>After the traversal, we get the minimum number of rectangles needed.</p>
77781
77781
<p>The time complexity is $O(n \times \log n)$, and the space complexity is $O(\log n)$, where $n$ is the number of points.</p>
77782
- <div class="tabbed-set tabbed-alternate" data-tabs="1:5 "><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" /><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></div>
77782
+ <div class="tabbed-set tabbed-alternate" data-tabs="1:6 "><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" />< 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></div>
77783
77783
<div class="tabbed-content">
77784
77784
<div class="tabbed-block">
77785
77785
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
@@ -77915,6 +77915,38 @@ <h3 id="solution-1-greedy-sorting">Solution 1: Greedy + Sorting</h3>
77915
77915
<span class="p">}</span>
77916
77916
</code></pre></div></td></tr></table></div>
77917
77917
</div>
77918
+ <div class="tabbed-block">
77919
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
77920
+ <span class="normal"> 2</span>
77921
+ <span class="normal"> 3</span>
77922
+ <span class="normal"> 4</span>
77923
+ <span class="normal"> 5</span>
77924
+ <span class="normal"> 6</span>
77925
+ <span class="normal"> 7</span>
77926
+ <span class="normal"> 8</span>
77927
+ <span class="normal"> 9</span>
77928
+ <span class="normal">10</span>
77929
+ <span class="normal">11</span>
77930
+ <span class="normal">12</span>
77931
+ <span class="normal">13</span>
77932
+ <span class="normal">14</span>
77933
+ <span class="normal">15</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>
77934
+ <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">min_rectangles_to_cover_points</span><span class="p">(</span><span class="k">mut</span><span class="w"> </span><span class="n">points</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="n">w</span><span class="p">:</span><span class="w"> </span><span class="kt">i32</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>
77935
+ <span class="w"> </span><span class="n">points</span><span class="p">.</span><span class="n">sort_by</span><span class="p">(</span><span class="o">|</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="p">[</span><span class="mi">0</span><span class="p">].</span><span class="n">cmp</span><span class="p">(</span><span class="o">&</span><span class="n">b</span><span class="p">[</span><span class="mi">0</span><span class="p">]));</span>
77936
+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="k">mut</span><span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
77937
+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="k">mut</span><span class="w"> </span><span class="n">x1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">-</span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="mi">30</span><span class="p">);</span>
77938
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">p</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">points</span><span class="w"> </span><span class="p">{</span>
77939
+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span>
77940
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">x1</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">w</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="p">{</span>
77941
+ <span class="w"> </span><span class="n">x1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">x</span><span class="p">;</span>
77942
+ <span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
77943
+ <span class="w"> </span><span class="p">}</span>
77944
+ <span class="w"> </span><span class="p">}</span>
77945
+ <span class="w"> </span><span class="n">ans</span>
77946
+ <span class="w"> </span><span class="p">}</span>
77947
+ <span class="p">}</span>
77948
+ </code></pre></div></td></tr></table></div>
77949
+ </div>
77918
77950
</div>
77919
77951
</div>
77920
77952
<!-- solution:end -->
0 commit comments