Skip to content

Commit c91f63d

Browse files
committed
deploy: f335e25
1 parent 398c861 commit c91f63d

File tree

12 files changed

+590
-12
lines changed

12 files changed

+590
-12
lines changed

en/lcci/8.10/index.html

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75311,7 +75311,7 @@ <h2 id="solutions">Solutions</h2>
7531175311
<h3 id="solution-1-dfs">Solution 1: DFS</h3>
7531275312
<p>We design a function $dfs(i, j)$ to start filling color from $(i, j)$. If $(i, j)$ is not within the image range, or the color of $(i, j)$ is not the original color, or the color of $(i, j)$ has been filled with the new color, then return. Otherwise, fill the color of $(i, j)$ with the new color, and then recursively search the four directions: up, down, left, and right of $(i, j)$.</p>
7531375313
<p>The time complexity is $O(m \times n)$, and the space complexity is $O(m \times n)$. Where $m$ and $n$ are the number of rows and columns in the image, respectively.</p>
75314-
<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>
75314+
<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">Swift</label></div>
7531575315
<div class="tabbed-content">
7531675316
<div class="tabbed-block">
7531775317
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -75595,6 +75595,56 @@ <h3 id="solution-1-dfs">Solution 1: DFS</h3>
7559575595
<span class="p">}</span>
7559675596
</code></pre></div></td></tr></table></div>
7559775597
</div>
75598+
<div class="tabbed-block">
75599+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
75600+
<span class="normal"> 2</span>
75601+
<span class="normal"> 3</span>
75602+
<span class="normal"> 4</span>
75603+
<span class="normal"> 5</span>
75604+
<span class="normal"> 6</span>
75605+
<span class="normal"> 7</span>
75606+
<span class="normal"> 8</span>
75607+
<span class="normal"> 9</span>
75608+
<span class="normal">10</span>
75609+
<span class="normal">11</span>
75610+
<span class="normal">12</span>
75611+
<span class="normal">13</span>
75612+
<span class="normal">14</span>
75613+
<span class="normal">15</span>
75614+
<span class="normal">16</span>
75615+
<span class="normal">17</span>
75616+
<span class="normal">18</span>
75617+
<span class="normal">19</span>
75618+
<span class="normal">20</span>
75619+
<span class="normal">21</span>
75620+
<span class="normal">22</span>
75621+
<span class="normal">23</span>
75622+
<span class="normal">24</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">class</span> <span class="nc">Solution</span> <span class="p">{</span>
75623+
<span class="kd">private</span> <span class="kd">var</span> <span class="nv">dirs</span> <span class="p">=</span> <span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">]</span>
75624+
<span class="kd">private</span> <span class="kd">var</span> <span class="nv">image</span><span class="p">:</span> <span class="p">[[</span><span class="nb">Int</span><span class="p">]]</span> <span class="p">=</span> <span class="p">[]</span>
75625+
<span class="kd">private</span> <span class="kd">var</span> <span class="nv">nc</span><span class="p">:</span> <span class="nb">Int</span> <span class="p">=</span> <span class="mi">0</span>
75626+
<span class="kd">private</span> <span class="kd">var</span> <span class="nv">oc</span><span class="p">:</span> <span class="nb">Int</span> <span class="p">=</span> <span class="mi">0</span>
75627+
75628+
<span class="kd">func</span> <span class="nf">floodFill</span><span class="p">(</span><span class="kc">_</span> <span class="n">image</span><span class="p">:</span> <span class="kr">inout</span> <span class="p">[[</span><span class="nb">Int</span><span class="p">]],</span> <span class="kc">_</span> <span class="n">sr</span><span class="p">:</span> <span class="nb">Int</span><span class="p">,</span> <span class="kc">_</span> <span class="n">sc</span><span class="p">:</span> <span class="nb">Int</span><span class="p">,</span> <span class="kc">_</span> <span class="n">newColor</span><span class="p">:</span> <span class="nb">Int</span><span class="p">)</span> <span class="p">-&gt;</span> <span class="p">[[</span><span class="nb">Int</span><span class="p">]]</span> <span class="p">{</span>
75629+
<span class="kc">self</span><span class="p">.</span><span class="n">nc</span> <span class="p">=</span> <span class="n">newColor</span>
75630+
<span class="kc">self</span><span class="p">.</span><span class="n">oc</span> <span class="p">=</span> <span class="n">image</span><span class="p">[</span><span class="n">sr</span><span class="p">][</span><span class="n">sc</span><span class="p">]</span>
75631+
<span class="kc">self</span><span class="p">.</span><span class="n">image</span> <span class="p">=</span> <span class="n">image</span>
75632+
<span class="n">dfs</span><span class="p">(</span><span class="n">sr</span><span class="p">,</span> <span class="n">sc</span><span class="p">)</span>
75633+
<span class="k">return</span> <span class="kc">self</span><span class="p">.</span><span class="n">image</span>
75634+
<span class="p">}</span>
75635+
75636+
<span class="kd">private</span> <span class="kd">func</span> <span class="nf">dfs</span><span class="p">(</span><span class="kc">_</span> <span class="n">i</span><span class="p">:</span> <span class="nb">Int</span><span class="p">,</span> <span class="kc">_</span> <span class="n">j</span><span class="p">:</span> <span class="nb">Int</span><span class="p">)</span> <span class="p">{</span>
75637+
<span class="k">if</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">0</span> <span class="o">||</span> <span class="n">i</span> <span class="o">&gt;=</span> <span class="n">image</span><span class="p">.</span><span class="bp">count</span> <span class="o">||</span> <span class="n">j</span> <span class="o">&lt;</span> <span class="mi">0</span> <span class="o">||</span> <span class="n">j</span> <span class="o">&gt;=</span> <span class="n">image</span><span class="p">[</span><span class="mi">0</span><span class="p">].</span><span class="bp">count</span> <span class="o">||</span> <span class="n">image</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span> <span class="o">!=</span> <span class="n">oc</span> <span class="o">||</span> <span class="n">image</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span> <span class="p">==</span> <span class="n">nc</span> <span class="p">{</span>
75638+
<span class="k">return</span>
75639+
<span class="p">}</span>
75640+
<span class="n">image</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span> <span class="p">=</span> <span class="n">nc</span>
75641+
<span class="k">for</span> <span class="n">k</span> <span class="k">in</span> <span class="mf">0.</span><span class="p">.&lt;</span><span class="mi">4</span> <span class="p">{</span>
75642+
<span class="n">dfs</span><span class="p">(</span><span class="n">i</span> <span class="o">+</span> <span class="n">dirs</span><span class="p">[</span><span class="n">k</span><span class="p">],</span> <span class="n">j</span> <span class="o">+</span> <span class="n">dirs</span><span class="p">[</span><span class="n">k</span> <span class="o">+</span> <span class="mi">1</span><span class="p">])</span>
75643+
<span class="p">}</span>
75644+
<span class="p">}</span>
75645+
<span class="p">}</span>
75646+
</code></pre></div></td></tr></table></div>
75647+
</div>
7559875648
</div>
7559975649
</div>
7560075650
<h3 id="solution-2-bfs">Solution 2: BFS</h3>
@@ -75859,6 +75909,11 @@ <h3 id="solution-2-bfs">Solution 2: BFS</h3>
7585975909

7586075910
<nav>
7586175911

75912+
<a href="https://github.com/klever34" class="md-author" title="@klever34">
75913+
75914+
<img src="https://avatars.githubusercontent.com/u/12745225?v=4&size=72" alt="klever34">
75915+
</a>
75916+
7586275917
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
7586375918

7586475919
<img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">

en/lcci/8.11/index.html

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75335,7 +75335,7 @@ <h3 id="solution-1-dynamic-programming">Solution 1: Dynamic Programming</h3>
7533575335
$$</p>
7533675336
<p>The final answer is $f[4][n]$.</p>
7533775337
<p>The time complexity is $O(C \times n)$, and the space complexity is $O(C \times n)$, where $C$ is the number of types of coins.</p>
75338-
<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>
75338+
<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">Swift</label></div>
7533975339
<div class="tabbed-content">
7534075340
<div class="tabbed-block">
7534175341
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -75509,6 +75509,44 @@ <h3 id="solution-1-dynamic-programming">Solution 1: Dynamic Programming</h3>
7550975509
<span class="p">}</span>
7551075510
</code></pre></div></td></tr></table></div>
7551175511
</div>
75512+
<div class="tabbed-block">
75513+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
75514+
<span class="normal"> 2</span>
75515+
<span class="normal"> 3</span>
75516+
<span class="normal"> 4</span>
75517+
<span class="normal"> 5</span>
75518+
<span class="normal"> 6</span>
75519+
<span class="normal"> 7</span>
75520+
<span class="normal"> 8</span>
75521+
<span class="normal"> 9</span>
75522+
<span class="normal">10</span>
75523+
<span class="normal">11</span>
75524+
<span class="normal">12</span>
75525+
<span class="normal">13</span>
75526+
<span class="normal">14</span>
75527+
<span class="normal">15</span>
75528+
<span class="normal">16</span>
75529+
<span class="normal">17</span>
75530+
<span class="normal">18</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">class</span> <span class="nc">Solution</span> <span class="p">{</span>
75531+
<span class="kd">func</span> <span class="nf">waysToChange</span><span class="p">(</span><span class="kc">_</span> <span class="n">n</span><span class="p">:</span> <span class="nb">Int</span><span class="p">)</span> <span class="p">-&gt;</span> <span class="nb">Int</span> <span class="p">{</span>
75532+
<span class="kd">let</span> <span class="nv">mod</span> <span class="p">=</span> <span class="nb">Int</span><span class="p">(</span><span class="mf">1e9</span> <span class="o">+</span> <span class="mi">7</span><span class="p">)</span>
75533+
<span class="kd">let</span> <span class="nv">coins</span> <span class="p">=</span> <span class="p">[</span><span class="mi">25</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">1</span><span class="p">]</span>
75534+
<span class="kd">var</span> <span class="nv">f</span> <span class="p">=</span> <span class="nb">Array</span><span class="p">(</span><span class="n">repeating</span><span class="p">:</span> <span class="nb">Array</span><span class="p">(</span><span class="n">repeating</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="bp">count</span><span class="p">:</span> <span class="n">n</span> <span class="o">+</span> <span class="mi">1</span><span class="p">),</span> <span class="bp">count</span><span class="p">:</span> <span class="mi">5</span><span class="p">)</span>
75535+
<span class="n">f</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="p">=</span> <span class="mi">1</span>
75536+
75537+
<span class="k">for</span> <span class="n">i</span> <span class="k">in</span> <span class="mf">1.</span><span class="p">..</span><span class="mi">4</span> <span class="p">{</span>
75538+
<span class="k">for</span> <span class="n">j</span> <span class="k">in</span> <span class="mf">0.</span><span class="p">..</span><span class="n">n</span> <span class="p">{</span>
75539+
<span class="n">f</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span> <span class="p">=</span> <span class="n">f</span><span class="p">[</span><span class="n">i</span> <span class="o">-</span> <span class="mi">1</span><span class="p">][</span><span class="n">j</span><span class="p">]</span>
75540+
<span class="k">if</span> <span class="n">j</span> <span class="o">&gt;=</span> <span class="n">coins</span><span class="p">[</span><span class="n">i</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="p">{</span>
75541+
<span class="n">f</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span> <span class="p">=</span> <span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span> <span class="o">+</span> <span class="n">f</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span> <span class="o">-</span> <span class="n">coins</span><span class="p">[</span><span class="n">i</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]])</span> <span class="o">%</span> <span class="n">mod</span>
75542+
<span class="p">}</span>
75543+
<span class="p">}</span>
75544+
<span class="p">}</span>
75545+
<span class="k">return</span> <span class="n">f</span><span class="p">[</span><span class="mi">4</span><span class="p">][</span><span class="n">n</span><span class="p">]</span>
75546+
<span class="p">}</span>
75547+
<span class="p">}</span>
75548+
</code></pre></div></td></tr></table></div>
75549+
</div>
7551275550
</div>
7551375551
</div>
7551475552
<h3 id="solution-2-dynamic-programming-space-optimization">Solution 2: Dynamic Programming (Space Optimization)</h3>
@@ -75682,6 +75720,11 @@ <h3 id="solution-2-dynamic-programming-space-optimization">Solution 2: Dynamic P
7568275720

7568375721
<nav>
7568475722

75723+
<a href="https://github.com/klever34" class="md-author" title="@klever34">
75724+
75725+
<img src="https://avatars.githubusercontent.com/u/12745225?v=4&size=72" alt="klever34">
75726+
</a>
75727+
7568575728
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
7568675729

7568775730
<img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">

0 commit comments

Comments
 (0)