Skip to content

Commit cf8949b

Browse files
committed
deploy: 4a511eb
1 parent a020a59 commit cf8949b

File tree

9 files changed

+48
-178
lines changed

9 files changed

+48
-178
lines changed

en/lc/1603/index.html

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -42727,9 +42727,9 @@
4272742727
<ul class="md-nav__list">
4272842728

4272942729
<li class="md-nav__item">
42730-
<a href="#solution-1" class="md-nav__link">
42730+
<a href="#solution-1-simulation" class="md-nav__link">
4273142731
<span class="md-ellipsis">
42732-
Solution 1
42732+
Solution 1: Simulation
4273342733
</span>
4273442734
</a>
4273542735

@@ -86553,7 +86553,11 @@ <h2 id="description">Description</h2>
8655386553
<h2 id="solutions">Solutions</h2>
8655486554
<!-- solution:start -->
8655586555

86556-
<h3 id="solution-1">Solution 1</h3>
86556+
<h3 id="solution-1-simulation">Solution 1: Simulation</h3>
86557+
<p>We use an array <span class="arithmatex">\(\textit{cnt}\)</span> of length 4 to represent the number of parking spaces for each type of car, where <span class="arithmatex">\(\textit{cnt}[1]\)</span>, <span class="arithmatex">\(\textit{cnt}[2]\)</span>, and <span class="arithmatex">\(\textit{cnt}[3]\)</span> represent the number of large, medium, and small parking spaces, respectively.</p>
86558+
<p>During initialization, we set <span class="arithmatex">\(\textit{cnt}[1]\)</span>, <span class="arithmatex">\(\textit{cnt}[2]\)</span>, and <span class="arithmatex">\(\textit{cnt}[3]\)</span> to the number of large, medium, and small parking spaces, respectively.</p>
86559+
<p>Each time a car parks, we check if there is a corresponding parking space in the parking lot. If not, we return <span class="arithmatex">\(\textit{false}\)</span>; otherwise, we decrement the number of corresponding parking spaces by one and return <span class="arithmatex">\(\textit{true}\)</span>.</p>
86560+
<p>The time complexity is <span class="arithmatex">\(O(1)\)</span>, and the space complexity is <span class="arithmatex">\(O(1)\)</span>.</p>
8655786561
<div class="tabbed-set tabbed-alternate" data-tabs="1:8"><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" /><input id="__tabbed_1_8" 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">C#</label><label for="__tabbed_1_8">C</label></div>
8655886562
<div class="tabbed-content">
8655986563
<div class="tabbed-block">
@@ -86744,17 +86748,17 @@ <h3 id="solution-1">Solution 1</h3>
8674486748
<span class="normal">19</span>
8674586749
<span class="normal">20</span>
8674686750
<span class="normal">21</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">class</span><span class="w"> </span><span class="nx">ParkingSystem</span><span class="w"> </span><span class="p">{</span>
86747-
<span class="w"> </span><span class="k">private</span><span class="w"> </span><span class="nx">count</span><span class="o">:</span><span class="w"> </span><span class="p">[</span><span class="kt">number</span><span class="p">,</span><span class="w"> </span><span class="kt">number</span><span class="p">,</span><span class="w"> </span><span class="kt">number</span><span class="p">];</span>
86751+
<span class="w"> </span><span class="k">private</span><span class="w"> </span><span class="nx">cnt</span><span class="o">:</span><span class="w"> </span><span class="p">[</span><span class="kt">number</span><span class="p">,</span><span class="w"> </span><span class="kt">number</span><span class="p">,</span><span class="w"> </span><span class="kt">number</span><span class="p">,</span><span class="w"> </span><span class="kt">number</span><span class="p">];</span>
8674886752

8674986753
<span class="w"> </span><span class="kr">constructor</span><span class="p">(</span><span class="nx">big</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">medium</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">small</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86750-
<span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">count</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="nx">big</span><span class="p">,</span><span class="w"> </span><span class="nx">medium</span><span class="p">,</span><span class="w"> </span><span class="nx">small</span><span class="p">];</span>
86754+
<span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">cnt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="mf">0</span><span class="p">,</span><span class="w"> </span><span class="nx">big</span><span class="p">,</span><span class="w"> </span><span class="nx">medium</span><span class="p">,</span><span class="w"> </span><span class="nx">small</span><span class="p">];</span>
8675186755
<span class="w"> </span><span class="p">}</span>
8675286756

8675386757
<span class="w"> </span><span class="nx">addCar</span><span class="p">(</span><span class="nx">carType</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">boolean</span><span class="w"> </span><span class="p">{</span>
86754-
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">count</span><span class="p">[</span><span class="nx">carType</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mf">1</span><span class="p">]</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="p">{</span>
86758+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">cnt</span><span class="p">[</span><span class="nx">carType</span><span class="p">]</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="p">{</span>
8675586759
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">false</span><span class="p">;</span>
8675686760
<span class="w"> </span><span class="p">}</span>
86757-
<span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">count</span><span class="p">[</span><span class="nx">carType</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mf">1</span><span class="p">]</span><span class="o">--</span><span class="p">;</span>
86761+
<span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">cnt</span><span class="p">[</span><span class="nx">carType</span><span class="p">]</span><span class="o">--</span><span class="p">;</span>
8675886762
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
8675986763
<span class="w"> </span><span class="p">}</span>
8676086764
<span class="p">}</span>
@@ -86786,31 +86790,23 @@ <h3 id="solution-1">Solution 1</h3>
8678686790
<span class="normal">17</span>
8678786791
<span class="normal">18</span>
8678886792
<span class="normal">19</span>
86789-
<span class="normal">20</span>
86790-
<span class="normal">21</span>
86791-
<span class="normal">22</span>
86792-
<span class="normal">23</span>
86793-
<span class="normal">24</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">struct</span><span class="w"> </span><span class="nc">ParkingSystem</span><span class="w"> </span><span class="p">{</span>
86794-
<span class="w"> </span><span class="n">count</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="kt">i32</span><span class="p">;</span><span class="w"> </span><span class="mi">3</span><span class="p">],</span>
86793+
<span class="normal">20</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">struct</span><span class="w"> </span><span class="nc">ParkingSystem</span><span class="w"> </span><span class="p">{</span>
86794+
<span class="w"> </span><span class="n">cnt</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="kt">i32</span><span class="p">;</span><span class="w"> </span><span class="mi">4</span><span class="p">]</span>
8679586795
<span class="p">}</span>
8679686796

86797-
<span class="sd">/**</span>
86798-
<span class="sd"> * `&amp;self` means the method takes an immutable reference.</span>
86799-
<span class="sd"> * If you need a mutable reference, change it to `&amp;mut self` instead.</span>
86800-
<span class="sd"> */</span>
8680186797
<span class="k">impl</span><span class="w"> </span><span class="n">ParkingSystem</span><span class="w"> </span><span class="p">{</span>
86798+
8680286799
<span class="w"> </span><span class="k">fn</span><span class="w"> </span><span class="nf">new</span><span class="p">(</span><span class="n">big</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">medium</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">small</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">-&gt;</span><span class="w"> </span><span class="nc">Self</span><span class="w"> </span><span class="p">{</span>
86803-
<span class="w"> </span><span class="bp">Self</span><span class="w"> </span><span class="p">{</span>
86804-
<span class="w"> </span><span class="n">count</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="n">big</span><span class="p">,</span><span class="w"> </span><span class="n">medium</span><span class="p">,</span><span class="w"> </span><span class="n">small</span><span class="p">],</span>
86800+
<span class="w"> </span><span class="n">ParkingSystem</span><span class="w"> </span><span class="p">{</span>
86801+
<span class="w"> </span><span class="n">cnt</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">big</span><span class="p">,</span><span class="w"> </span><span class="n">medium</span><span class="p">,</span><span class="w"> </span><span class="n">small</span><span class="p">],</span>
8680586802
<span class="w"> </span><span class="p">}</span>
8680686803
<span class="w"> </span><span class="p">}</span>
8680786804

8680886805
<span class="w"> </span><span class="k">fn</span><span class="w"> </span><span class="nf">add_car</span><span class="p">(</span><span class="o">&amp;</span><span class="k">mut</span><span class="w"> </span><span class="bp">self</span><span class="p">,</span><span class="w"> </span><span class="n">car_type</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">-&gt;</span><span class="w"> </span><span class="kt">bool</span><span class="w"> </span><span class="p">{</span>
86809-
<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">car_type</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">usize</span><span class="p">;</span>
86810-
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="bp">self</span><span class="p">.</span><span class="n">count</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="p">{</span>
86806+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="bp">self</span><span class="p">.</span><span class="n">cnt</span><span class="p">[</span><span class="n">car_type</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">usize</span><span class="p">]</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="p">{</span>
8681186807
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">false</span><span class="p">;</span>
8681286808
<span class="w"> </span><span class="p">}</span>
86813-
<span class="w"> </span><span class="bp">self</span><span class="p">.</span><span class="n">count</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="o">-=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
86809+
<span class="w"> </span><span class="bp">self</span><span class="p">.</span><span class="n">cnt</span><span class="p">[</span><span class="n">car_type</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">usize</span><span class="p">]</span><span class="w"> </span><span class="o">-=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
8681486810
<span class="w"> </span><span class="kc">true</span>
8681586811
<span class="w"> </span><span class="p">}</span>
8681686812
<span class="p">}</span>

en/lc/1616/index.html

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43013,9 +43013,9 @@
4301343013
<ul class="md-nav__list">
4301443014

4301543015
<li class="md-nav__item">
43016-
<a href="#solution-1" class="md-nav__link">
43016+
<a href="#solution-1-two-pointers" class="md-nav__link">
4301743017
<span class="md-ellipsis">
43018-
Solution 1
43018+
Solution 1: Two Pointers
4301943019
</span>
4302043020
</a>
4302143021

@@ -86558,7 +86558,11 @@ <h2 id="description">Description</h2>
8655886558
<h2 id="solutions">Solutions</h2>
8655986559
<!-- solution:start -->
8656086560

86561-
<h3 id="solution-1">Solution 1</h3>
86561+
<h3 id="solution-1-two-pointers">Solution 1: Two Pointers</h3>
86562+
<p>We can use two pointers, where one pointer <span class="arithmatex">\(i\)</span> starts from the beginning of string <span class="arithmatex">\(a\)</span>, and the other pointer <span class="arithmatex">\(j\)</span> starts from the end of string <span class="arithmatex">\(b\)</span>. If the characters pointed to by the two pointers are equal, then both pointers move towards the center until they encounter different characters or the two pointers cross.</p>
86563+
<p>If the two pointers cross, i.e., <span class="arithmatex">\(i \geq j\)</span>, it means that <span class="arithmatex">\(prefix\)</span> and <span class="arithmatex">\(suffix\)</span> can already form a palindrome, and we return <code>true</code>. Otherwise, we need to check if <span class="arithmatex">\(a[i,...j]\)</span> or <span class="arithmatex">\(b[i,...j]\)</span> is a palindrome. If so, return <code>true</code>.</p>
86564+
<p>Otherwise, we try swapping the two strings <span class="arithmatex">\(a\)</span> and <span class="arithmatex">\(b\)</span> and repeat the same process.</p>
86565+
<p>The time complexity is <span class="arithmatex">\(O(n)\)</span>, and the space complexity is <span class="arithmatex">\(O(1)\)</span>. Where <span class="arithmatex">\(n\)</span> is the length of string <span class="arithmatex">\(a\)</span> or <span class="arithmatex">\(b\)</span>.</p>
8656286566
<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>
8656386567
<div class="tabbed-content">
8656486568
<div class="tabbed-block">

en/lc/1676/index.html

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44333,9 +44333,9 @@
4433344333
<ul class="md-nav__list">
4433444334

4433544335
<li class="md-nav__item">
44336-
<a href="#solution-1" class="md-nav__link">
44336+
<a href="#solution-1-hash-table-dfs" class="md-nav__link">
4433744337
<span class="md-ellipsis">
44338-
Solution 1
44338+
Solution 1: Hash Table + DFS
4433944339
</span>
4434044340
</a>
4434144341

@@ -86564,7 +86564,9 @@ <h2 id="description">Description</h2>
8656486564
<h2 id="solutions">Solutions</h2>
8656586565
<!-- solution:start -->
8656686566

86567-
<h3 id="solution-1">Solution 1</h3>
86567+
<h3 id="solution-1-hash-table-dfs">Solution 1: Hash Table + DFS</h3>
86568+
<p>We use a hash table <span class="arithmatex">\(\textit{s}\)</span> to record the values of all nodes in the array <span class="arithmatex">\(\textit{nodes}\)</span>, and then use depth-first search. When the node being traversed is null or its value is in the hash table <span class="arithmatex">\(\textit{s}\)</span>, we return the current node. Otherwise, we recursively traverse the left and right subtrees. If the return values of both the left and right subtrees are not null, it means the current node is the lowest common ancestor. Otherwise, we return the non-null subtree's return value.</p>
86569+
<p>The time complexity is <span class="arithmatex">\(O(n + m)\)</span>, and the space complexity is <span class="arithmatex">\(O(n + m)\)</span>. Where <span class="arithmatex">\(n\)</span> and <span class="arithmatex">\(m\)</span> are the number of nodes in the binary tree and the length of the array <span class="arithmatex">\(\textit{nodes}\)</span>, respectively.</p>
8656886570
<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">JavaScript</label></div>
8656986571
<div class="tabbed-content">
8657086572
<div class="tabbed-block">

0 commit comments

Comments
 (0)