Skip to content

Commit ee6a370

Browse files
committed
deploy: b1292ee
1 parent 79103df commit ee6a370

File tree

10 files changed

+7179
-6935
lines changed

10 files changed

+7179
-6935
lines changed

en/lc/52/index.html

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77164,7 +77164,7 @@ <h3 id="solution-1-backtracking">Solution 1: Backtracking</h3>
7716477164
<p>To determine whether a conflict occurs, we need to use three arrays to record whether a queen has been placed in each column, each positive diagonal, and each negative diagonal, respectively.</p>
7716577165
<p>Specifically, we use the $cols$ array to record whether a queen has been placed in each column, the $dg$ array to record whether a queen has been placed in each positive diagonal, and the $udg$ array to record whether a queen has been placed in each negative diagonal.</p>
7716677166
<p>The time complexity is $O(n!)$, and the space complexity is $O(n)$. Here, $n$ is the number of queens.</p>
77167-
<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">C#</label></div>
77167+
<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">JavaScript</label><label for="__tabbed_1_7">C#</label></div>
7716877168
<div class="tabbed-content">
7716977169
<div class="tabbed-block">
7717077170
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -77447,6 +77447,54 @@ <h3 id="solution-1-backtracking">Solution 1: Backtracking</h3>
7744777447
<span class="normal">20</span>
7744877448
<span class="normal">21</span>
7744977449
<span class="normal">22</span>
77450+
<span class="normal">23</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">totalNQueens</span><span class="p">(</span><span class="nx">n</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77451+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">cols</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Array</span><span class="p">(</span><span class="mf">10</span><span class="p">).</span><span class="nx">fill</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
77452+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">dg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Array</span><span class="p">(</span><span class="mf">20</span><span class="p">).</span><span class="nx">fill</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
77453+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">udg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Array</span><span class="p">(</span><span class="mf">20</span><span class="p">).</span><span class="nx">fill</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
77454+
<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span>
77455+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">dfs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">i</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p">{</span>
77456+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">i</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="nx">n</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77457+
<span class="w"> </span><span class="o">++</span><span class="nx">ans</span><span class="p">;</span>
77458+
<span class="w"> </span><span class="k">return</span><span class="p">;</span>
77459+
<span class="w"> </span><span class="p">}</span>
77460+
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">let</span><span class="w"> </span><span class="nx">j</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span><span class="w"> </span><span class="nx">j</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="nx">n</span><span class="p">;</span><span class="w"> </span><span class="o">++</span><span class="nx">j</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77461+
<span class="w"> </span><span class="kd">let</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="o">=</span><span class="w"> </span><span class="p">[</span><span class="nx">i</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">j</span><span class="p">,</span><span class="w"> </span><span class="nx">i</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="nx">j</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">n</span><span class="p">];</span>
77462+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">cols</span><span class="p">[</span><span class="nx">j</span><span class="p">]</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="nx">dg</span><span class="p">[</span><span class="nx">a</span><span class="p">]</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="nx">udg</span><span class="p">[</span><span class="nx">b</span><span class="p">])</span><span class="w"> </span><span class="p">{</span>
77463+
<span class="w"> </span><span class="k">continue</span><span class="p">;</span>
77464+
<span class="w"> </span><span class="p">}</span>
77465+
<span class="w"> </span><span class="nx">cols</span><span class="p">[</span><span class="nx">j</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">dg</span><span class="p">[</span><span class="nx">a</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">udg</span><span class="p">[</span><span class="nx">b</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
77466+
<span class="w"> </span><span class="nx">dfs</span><span class="p">(</span><span class="nx">i</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mf">1</span><span class="p">);</span>
77467+
<span class="w"> </span><span class="nx">cols</span><span class="p">[</span><span class="nx">j</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">dg</span><span class="p">[</span><span class="nx">a</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">udg</span><span class="p">[</span><span class="nx">b</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">false</span><span class="p">;</span>
77468+
<span class="w"> </span><span class="p">}</span>
77469+
<span class="w"> </span><span class="p">};</span>
77470+
<span class="w"> </span><span class="nx">dfs</span><span class="p">(</span><span class="mf">0</span><span class="p">);</span>
77471+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">ans</span><span class="p">;</span>
77472+
<span class="p">}</span>
77473+
</code></pre></div></td></tr></table></div>
77474+
</div>
77475+
<div class="tabbed-block">
77476+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
77477+
<span class="normal"> 2</span>
77478+
<span class="normal"> 3</span>
77479+
<span class="normal"> 4</span>
77480+
<span class="normal"> 5</span>
77481+
<span class="normal"> 6</span>
77482+
<span class="normal"> 7</span>
77483+
<span class="normal"> 8</span>
77484+
<span class="normal"> 9</span>
77485+
<span class="normal">10</span>
77486+
<span class="normal">11</span>
77487+
<span class="normal">12</span>
77488+
<span class="normal">13</span>
77489+
<span class="normal">14</span>
77490+
<span class="normal">15</span>
77491+
<span class="normal">16</span>
77492+
<span class="normal">17</span>
77493+
<span class="normal">18</span>
77494+
<span class="normal">19</span>
77495+
<span class="normal">20</span>
77496+
<span class="normal">21</span>
77497+
<span class="normal">22</span>
7745077498
<span class="normal">23</span>
7745177499
<span class="normal">24</span>
7745277500
<span class="normal">25</span>
@@ -77513,6 +77561,11 @@ <h3 id="solution-1-backtracking">Solution 1: Backtracking</h3>
7751377561

7751477562
<nav>
7751577563

77564+
<a href="https://github.com/rain84" class="md-author" title="@rain84">
77565+
77566+
<img src="https://avatars.githubusercontent.com/u/1732547?v=4&size=72" alt="rain84">
77567+
</a>
77568+
7751677569
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
7751777570

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

0 commit comments

Comments
 (0)