Skip to content

Commit 7bdc782

Browse files
committed
deploy: fffbcb0
1 parent 079353f commit 7bdc782

File tree

11 files changed

+7172
-6992
lines changed

11 files changed

+7172
-6992
lines changed

en/lc/1003/index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77712,10 +77712,10 @@ <h2 id="solutions">Solutions</h2>
7771277712
<!-- solution:start -->
7771377713

7771477714
<h3 id="solution-1-stack">Solution 1: Stack</h3>
77715-
<p>If the string is valid, it's length must be the multiple of $3$.</p>
77716-
<p>We traverse the string and push every character into the stack $t$. If the size of stack $t$ is greater than or equal to $3$ and the top three elements of stack $t$ constitute the string <code>"abc"</code>, we pop the top three elements. Then we continue to traverse the next character of the string $s$.</p>
77717-
<p>When the traversal is over, if the stack $t$ is empty, the string $s$ is valid, return <code>true</code>, otherwise return <code>false</code>.</p>
77718-
<p>The time complexity is $O(n)$ and the space complexity is $O(n)$. Where $n$ is the length of the string $s$.</p>
77715+
<p>We observe the operations in the problem and find that each time a string $\textit{"abc"}$ is inserted at any position in the string. Therefore, after each insertion operation, the length of the string increases by $3$. If the string $s$ is valid, its length must be a multiple of $3$. Thus, we first check the length of the string $s$. If it is not a multiple of $3$, then $s$ must be invalid, and we can directly return $\textit{false}$.</p>
77716+
<p>Next, we traverse each character $c$ in the string $s$. We first push the character $c$ onto the stack $t$. If the length of the stack $t$ is greater than or equal to $3$, and the top three elements of the stack form the string $\textit{"abc"}$, then we pop the top three elements from the stack. We then continue to traverse the next character in the string $s$.</p>
77717+
<p>After the traversal, if the stack $t$ is empty, it means the string $s$ is valid, and we return $\textit{true}$; otherwise, we return $\textit{false}$.</p>
77718+
<p>The time complexity is $O(n)$, and the space complexity is $O(n)$. Here, $n$ is the length of the string $s$.</p>
7771977719
<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>
7772077720
<div class="tabbed-content">
7772177721
<div class="tabbed-block">

en/lc/3236/index.html

Lines changed: 79 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74979,9 +74979,9 @@
7497974979
<ul class="md-nav__list">
7498074980

7498174981
<li class="md-nav__item">
74982-
<a href="#solution-1" class="md-nav__link">
74982+
<a href="#solution-1-recursive-cte-join" class="md-nav__link">
7498374983
<span class="md-ellipsis">
74984-
Solution 1
74984+
Solution 1: Recursive CTE + Join
7498574985
</span>
7498674986
</a>
7498774987

@@ -77743,11 +77743,86 @@ <h2 id="description">Description</h2>
7774377743
<h2 id="solutions">Solutions</h2>
7774477744
<!-- solution:start -->
7774577745

77746-
<h3 id="solution-1">Solution 1</h3>
77746+
<h3 id="solution-1-recursive-cte-join">Solution 1: Recursive CTE + Join</h3>
77747+
<p>First, we use a recursive CTE to calculate the hierarchy level of each employee, where the CEO's level is $0$. We save <code>employee_id</code>, <code>employee_name</code>, <code>hierarchy_level</code>, <code>manager_id</code>, and <code>salary</code> into a temporary table <code>T</code>.</p>
77748+
<p>Then, we query the CEO's salary and save it into a temporary table <code>P</code>.</p>
77749+
<p>Finally, we join tables <code>T</code> and <code>P</code> to calculate the salary difference for each subordinate, and sort by <code>hierarchy_level</code> and <code>subordinate_id</code>.</p>
7774777750
<div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">MySQL</label></div>
7774877751
<div class="tabbed-content">
7774977752
<div class="tabbed-block">
77750-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code>
77753+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
77754+
<span class="normal"> 2</span>
77755+
<span class="normal"> 3</span>
77756+
<span class="normal"> 4</span>
77757+
<span class="normal"> 5</span>
77758+
<span class="normal"> 6</span>
77759+
<span class="normal"> 7</span>
77760+
<span class="normal"> 8</span>
77761+
<span class="normal"> 9</span>
77762+
<span class="normal">10</span>
77763+
<span class="normal">11</span>
77764+
<span class="normal">12</span>
77765+
<span class="normal">13</span>
77766+
<span class="normal">14</span>
77767+
<span class="normal">15</span>
77768+
<span class="normal">16</span>
77769+
<span class="normal">17</span>
77770+
<span class="normal">18</span>
77771+
<span class="normal">19</span>
77772+
<span class="normal">20</span>
77773+
<span class="normal">21</span>
77774+
<span class="normal">22</span>
77775+
<span class="normal">23</span>
77776+
<span class="normal">24</span>
77777+
<span class="normal">25</span>
77778+
<span class="normal">26</span>
77779+
<span class="normal">27</span>
77780+
<span class="normal">28</span>
77781+
<span class="normal">29</span>
77782+
<span class="normal">30</span>
77783+
<span class="normal">31</span>
77784+
<span class="normal">32</span>
77785+
<span class="normal">33</span>
77786+
<span class="normal">34</span>
77787+
<span class="normal">35</span>
77788+
<span class="normal">36</span>
77789+
<span class="normal">37</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="o">#</span><span class="w"> </span><span class="k">Write</span><span class="w"> </span><span class="n">your</span><span class="w"> </span><span class="n">MySQL</span><span class="w"> </span><span class="n">query</span><span class="w"> </span><span class="k">statement</span><span class="w"> </span><span class="n">below</span>
77790+
<span class="k">WITH</span><span class="w"> </span><span class="k">RECURSIVE</span>
77791+
<span class="w"> </span><span class="n">T</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="p">(</span>
77792+
<span class="w"> </span><span class="k">SELECT</span>
77793+
<span class="w"> </span><span class="n">employee_id</span><span class="p">,</span>
77794+
<span class="w"> </span><span class="n">employee_name</span><span class="p">,</span>
77795+
<span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">hierarchy_level</span><span class="p">,</span>
77796+
<span class="w"> </span><span class="n">manager_id</span><span class="p">,</span>
77797+
<span class="w"> </span><span class="n">salary</span>
77798+
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Employees</span>
77799+
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">manager_id</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span>
77800+
<span class="w"> </span><span class="k">UNION</span><span class="w"> </span><span class="k">ALL</span>
77801+
<span class="w"> </span><span class="k">SELECT</span>
77802+
<span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">employee_id</span><span class="p">,</span>
77803+
<span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">employee_name</span><span class="p">,</span>
77804+
<span class="w"> </span><span class="n">hierarchy_level</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">hierarchy_level</span><span class="p">,</span>
77805+
<span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">manager_id</span><span class="p">,</span>
77806+
<span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">salary</span>
77807+
<span class="w"> </span><span class="k">FROM</span>
77808+
<span class="w"> </span><span class="n">T</span><span class="w"> </span><span class="n">t</span>
77809+
<span class="w"> </span><span class="k">JOIN</span><span class="w"> </span><span class="n">Employees</span><span class="w"> </span><span class="n">e</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">employee_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">manager_id</span>
77810+
<span class="w"> </span><span class="p">),</span>
77811+
<span class="w"> </span><span class="n">P</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="p">(</span>
77812+
<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">salary</span>
77813+
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Employees</span>
77814+
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">manager_id</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span>
77815+
<span class="w"> </span><span class="p">)</span>
77816+
<span class="k">SELECT</span>
77817+
<span class="w"> </span><span class="n">employee_id</span><span class="w"> </span><span class="n">subordinate_id</span><span class="p">,</span>
77818+
<span class="w"> </span><span class="n">employee_name</span><span class="w"> </span><span class="n">subordinate_name</span><span class="p">,</span>
77819+
<span class="w"> </span><span class="n">hierarchy_level</span><span class="p">,</span>
77820+
<span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">salary</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">p</span><span class="p">.</span><span class="n">salary</span><span class="w"> </span><span class="n">salary_difference</span>
77821+
<span class="k">FROM</span>
77822+
<span class="w"> </span><span class="n">T</span><span class="w"> </span><span class="n">t</span>
77823+
<span class="w"> </span><span class="k">JOIN</span><span class="w"> </span><span class="n">P</span><span class="w"> </span><span class="n">p</span>
77824+
<span class="k">WHERE</span><span class="w"> </span><span class="n">hierarchy_level</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="mi">0</span>
77825+
<span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
7775177826
</code></pre></div></td></tr></table></div>
7775277827
</div>
7775377828
</div>

en/search/search_index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)