Skip to content

Commit d500a8e

Browse files
committed
deploy: d9f9cda
1 parent ebe3e03 commit d500a8e

File tree

8 files changed

+346
-8
lines changed

8 files changed

+346
-8
lines changed

en/lcci/16.1/index.html

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75416,7 +75416,7 @@ <h3 id="solution-1-bitwise-operation">Solution 1: Bitwise Operation</h3>
7541675416
</ul>
7541775417
<p>In this way, we can swap two numbers without using a temporary variable.</p>
7541875418
<p>The time complexity is $O(1)$, and the space complexity is $O(1)$.</p>
75419-
<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>
75419+
<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>
7542075420
<div class="tabbed-content">
7542175421
<div class="tabbed-block">
7542275422
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
@@ -75498,6 +75498,26 @@ <h3 id="solution-1-bitwise-operation">Solution 1: Bitwise Operation</h3>
7549875498
<span class="p">}</span>
7549975499
</code></pre></div></td></tr></table></div>
7550075500
</div>
75501+
<div class="tabbed-block">
75502+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
75503+
<span class="normal">2</span>
75504+
<span class="normal">3</span>
75505+
<span class="normal">4</span>
75506+
<span class="normal">5</span>
75507+
<span class="normal">6</span>
75508+
<span class="normal">7</span>
75509+
<span class="normal">8</span>
75510+
<span class="normal">9</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>
75511+
<span class="kd">func</span> <span class="nf">swapNumbers</span><span class="p">(</span><span class="kc">_</span> <span class="n">numbers</span><span class="p">:</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>
75512+
<span class="kd">var</span> <span class="nv">numbers</span> <span class="p">=</span> <span class="n">numbers</span>
75513+
<span class="n">numbers</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">^=</span> <span class="n">numbers</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
75514+
<span class="n">numbers</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">^=</span> <span class="n">numbers</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
75515+
<span class="n">numbers</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">^=</span> <span class="n">numbers</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
75516+
<span class="k">return</span> <span class="n">numbers</span>
75517+
<span class="p">}</span>
75518+
<span class="p">}</span>
75519+
</code></pre></div></td></tr></table></div>
75520+
</div>
7550175521
</div>
7550275522
</div>
7550375523
<!-- end -->
@@ -75529,6 +75549,11 @@ <h3 id="solution-1-bitwise-operation">Solution 1: Bitwise Operation</h3>
7552975549

7553075550
<nav>
7553175551

75552+
<a href="https://github.com/klever34" class="md-author" title="@klever34">
75553+
75554+
<img src="https://avatars.githubusercontent.com/u/12745225?v=4&size=72" alt="klever34">
75555+
</a>
75556+
7553275557
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
7553375558

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

en/lcci/16.4/index.html

Lines changed: 74 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75432,7 +75432,7 @@ <h3 id="solution-1-counting">Solution 1: Counting</h3>
7543275432
<p>Specifically, we use a one-dimensional array $rows$ and $cols$ of length $n$ to represent the count of each row and column, and use $dg$ and $udg$ to represent the count of the two diagonals. When a player places a character at $(i, j)$, we update the corresponding elements in the arrays $rows$, $cols$, $dg$, and $udg$ based on whether the character is <code>X</code> or <code>O</code>. After each update, we check whether the absolute value of the corresponding element equals $n$. If it does, it means that the current player has placed $n$ identical characters in that row, column, or diagonal, and the game is over. We can return the corresponding character.</p>
7543375433
<p>Finally, we traverse the entire board. If there is a character <code></code>, it means that the game is not over yet, and we return <code>Pending</code>. Otherwise, we return <code>Draw</code>.</p>
7543475434
<p>The time complexity is $O(n^2)$, and the space complexity is $O(n)$, where $n$ is the side length of the board.</p>
75435-
<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>
75435+
<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>
7543675436
<div class="tabbed-content">
7543775437
<div class="tabbed-block">
7543875438
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -75774,6 +75774,74 @@ <h3 id="solution-1-counting">Solution 1: Counting</h3>
7577475774
<span class="p">}</span>
7577575775
</code></pre></div></td></tr></table></div>
7577675776
</div>
75777+
<div class="tabbed-block">
75778+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
75779+
<span class="normal"> 2</span>
75780+
<span class="normal"> 3</span>
75781+
<span class="normal"> 4</span>
75782+
<span class="normal"> 5</span>
75783+
<span class="normal"> 6</span>
75784+
<span class="normal"> 7</span>
75785+
<span class="normal"> 8</span>
75786+
<span class="normal"> 9</span>
75787+
<span class="normal">10</span>
75788+
<span class="normal">11</span>
75789+
<span class="normal">12</span>
75790+
<span class="normal">13</span>
75791+
<span class="normal">14</span>
75792+
<span class="normal">15</span>
75793+
<span class="normal">16</span>
75794+
<span class="normal">17</span>
75795+
<span class="normal">18</span>
75796+
<span class="normal">19</span>
75797+
<span class="normal">20</span>
75798+
<span class="normal">21</span>
75799+
<span class="normal">22</span>
75800+
<span class="normal">23</span>
75801+
<span class="normal">24</span>
75802+
<span class="normal">25</span>
75803+
<span class="normal">26</span>
75804+
<span class="normal">27</span>
75805+
<span class="normal">28</span>
75806+
<span class="normal">29</span>
75807+
<span class="normal">30</span>
75808+
<span class="normal">31</span>
75809+
<span class="normal">32</span>
75810+
<span class="normal">33</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>
75811+
<span class="kd">func</span> <span class="nf">tictactoe</span><span class="p">(</span><span class="kc">_</span> <span class="n">board</span><span class="p">:</span> <span class="p">[</span><span class="nb">String</span><span class="p">])</span> <span class="p">-&gt;</span> <span class="nb">String</span> <span class="p">{</span>
75812+
<span class="kd">let</span> <span class="nv">n</span> <span class="p">=</span> <span class="n">board</span><span class="p">.</span><span class="bp">count</span>
75813+
<span class="kd">var</span> <span class="nv">rows</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="p">)</span>
75814+
<span class="kd">var</span> <span class="nv">cols</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="p">)</span>
75815+
<span class="kd">var</span> <span class="nv">diagonal</span> <span class="p">=</span> <span class="mi">0</span><span class="p">,</span> <span class="n">antiDiagonal</span> <span class="p">=</span> <span class="mi">0</span>
75816+
<span class="kd">var</span> <span class="nv">hasEmptyGrid</span> <span class="p">=</span> <span class="kc">false</span>
75817+
75818+
<span class="k">for</span> <span class="n">i</span> <span class="k">in</span> <span class="mf">0.</span><span class="p">.&lt;</span><span class="n">n</span> <span class="p">{</span>
75819+
<span class="k">for</span> <span class="n">j</span> <span class="k">in</span> <span class="mf">0.</span><span class="p">.&lt;</span><span class="n">n</span> <span class="p">{</span>
75820+
<span class="kd">let</span> <span class="nv">c</span> <span class="p">=</span> <span class="nb">Array</span><span class="p">(</span><span class="n">board</span><span class="p">[</span><span class="n">i</span><span class="p">])[</span><span class="n">j</span><span class="p">]</span>
75821+
<span class="k">if</span> <span class="n">c</span> <span class="p">==</span> <span class="s">&quot; &quot;</span> <span class="p">{</span>
75822+
<span class="n">hasEmptyGrid</span> <span class="p">=</span> <span class="kc">true</span>
75823+
<span class="k">continue</span>
75824+
<span class="p">}</span>
75825+
<span class="kd">let</span> <span class="nv">value</span> <span class="p">=</span> <span class="n">c</span> <span class="p">==</span> <span class="s">&quot;X&quot;</span> <span class="p">?</span> <span class="mi">1</span> <span class="p">:</span> <span class="o">-</span><span class="mi">1</span>
75826+
<span class="n">rows</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+=</span> <span class="n">value</span>
75827+
<span class="n">cols</span><span class="p">[</span><span class="n">j</span><span class="p">]</span> <span class="o">+=</span> <span class="n">value</span>
75828+
<span class="k">if</span> <span class="n">i</span> <span class="p">==</span> <span class="n">j</span> <span class="p">{</span>
75829+
<span class="n">diagonal</span> <span class="o">+=</span> <span class="n">value</span>
75830+
<span class="p">}</span>
75831+
<span class="k">if</span> <span class="n">i</span> <span class="o">+</span> <span class="n">j</span> <span class="p">==</span> <span class="n">n</span> <span class="o">-</span> <span class="mi">1</span> <span class="p">{</span>
75832+
<span class="n">antiDiagonal</span> <span class="o">+=</span> <span class="n">value</span>
75833+
<span class="p">}</span>
75834+
<span class="k">if</span> <span class="bp">abs</span><span class="p">(</span><span class="n">rows</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="p">==</span> <span class="n">n</span> <span class="o">||</span> <span class="bp">abs</span><span class="p">(</span><span class="n">cols</span><span class="p">[</span><span class="n">j</span><span class="p">])</span> <span class="p">==</span> <span class="n">n</span> <span class="o">||</span> <span class="bp">abs</span><span class="p">(</span><span class="n">diagonal</span><span class="p">)</span> <span class="p">==</span> <span class="n">n</span> <span class="o">||</span> <span class="bp">abs</span><span class="p">(</span><span class="n">antiDiagonal</span><span class="p">)</span> <span class="p">==</span> <span class="n">n</span> <span class="p">{</span>
75835+
<span class="k">return</span> <span class="nb">String</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
75836+
<span class="p">}</span>
75837+
<span class="p">}</span>
75838+
<span class="p">}</span>
75839+
75840+
<span class="k">return</span> <span class="n">hasEmptyGrid</span> <span class="p">?</span> <span class="s">&quot;Pending&quot;</span> <span class="p">:</span> <span class="s">&quot;Draw&quot;</span>
75841+
<span class="p">}</span>
75842+
<span class="p">}</span>
75843+
</code></pre></div></td></tr></table></div>
75844+
</div>
7577775845
</div>
7577875846
</div>
7577975847
<!-- end -->
@@ -75805,6 +75873,11 @@ <h3 id="solution-1-counting">Solution 1: Counting</h3>
7580575873

7580675874
<nav>
7580775875

75876+
<a href="https://github.com/klever34" class="md-author" title="@klever34">
75877+
75878+
<img src="https://avatars.githubusercontent.com/u/12745225?v=4&size=72" alt="klever34">
75879+
</a>
75880+
7580875881
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
7580975882

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

0 commit comments

Comments
 (0)