Skip to content

Commit 60b15bf

Browse files
committed
deploy: b866896
1 parent 4ca4d22 commit 60b15bf

File tree

8 files changed

+91
-348
lines changed

8 files changed

+91
-348
lines changed

en/lc/181/index.html

Lines changed: 26 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -10947,18 +10947,9 @@
1094710947
<ul class="md-nav__list">
1094810948

1094910949
<li class="md-nav__item">
10950-
<a href="#solution-1" class="md-nav__link">
10950+
<a href="#solution-1-self-join-conditional-filtering" class="md-nav__link">
1095110951
<span class="md-ellipsis">
10952-
Solution 1
10953-
</span>
10954-
</a>
10955-
10956-
</li>
10957-
10958-
<li class="md-nav__item">
10959-
<a href="#solution-2" class="md-nav__link">
10960-
<span class="md-ellipsis">
10961-
Solution 2
10952+
Solution 1: Self-Join + Conditional Filtering
1096210953
</span>
1096310954
</a>
1096410955

@@ -79346,7 +79337,7 @@ <h2 id="description">Description</h2>
7934679337
<p><strong class="example">Example 1:</strong></p>
7934779338

7934879339
<pre>
79349-
<strong>Input:</strong>
79340+
<strong>Input:</strong>
7935079341
Employee table:
7935179342
+----+-------+--------+-----------+
7935279343
| id | name | salary | managerId |
@@ -79356,7 +79347,7 @@ <h2 id="description">Description</h2>
7935679347
| 3 | Sam | 60000 | Null |
7935779348
| 4 | Max | 90000 | Null |
7935879349
+----+-------+--------+-----------+
79359-
<strong>Output:</strong>
79350+
<strong>Output:</strong>
7936079351
+----------+
7936179352
| Employee |
7936279353
+----------+
@@ -79370,67 +79361,43 @@ <h2 id="description">Description</h2>
7937079361
<h2 id="solutions">Solutions</h2>
7937179362
<!-- solution:start -->
7937279363

79373-
<h3 id="solution-1">Solution 1</h3>
79364+
<h3 id="solution-1-self-join-conditional-filtering">Solution 1: Self-Join + Conditional Filtering</h3>
79365+
<p>We can find employees' salaries and their managers' salaries by self-joining the <code>Employee</code> table, then filter out employees whose salaries are higher than their managers' salaries.</p>
7937479366
<div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">MySQL</label></div>
7937579367
<div class="tabbed-content">
7937679368
<div class="tabbed-block">
79377-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
79378-
<span class="normal">2</span>
79379-
<span class="normal">3</span>
79380-
<span class="normal">4</span>
79381-
<span class="normal">5</span>
79382-
<span class="normal">6</span>
79383-
<span class="normal">7</span>
79384-
<span class="normal">8</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
79369+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
79370+
<span class="normal"> 2</span>
79371+
<span class="normal"> 3</span>
79372+
<span class="normal"> 4</span>
79373+
<span class="normal"> 5</span>
79374+
<span class="normal"> 6</span>
79375+
<span class="normal"> 7</span>
79376+
<span class="normal"> 8</span>
79377+
<span class="normal"> 9</span>
79378+
<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
7938579379

7938679380

7938779381
<span class="k">def</span> <span class="nf">find_employees</span><span class="p">(</span><span class="n">employee</span><span class="p">:</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">:</span>
79388-
<span class="n">df</span> <span class="o">=</span> <span class="n">employee</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">right</span><span class="o">=</span><span class="n">employee</span><span class="p">,</span> <span class="n">how</span><span class="o">=</span><span class="s2">&quot;left&quot;</span><span class="p">,</span> <span class="n">left_on</span><span class="o">=</span><span class="s2">&quot;managerId&quot;</span><span class="p">,</span> <span class="n">right_on</span><span class="o">=</span><span class="s2">&quot;id&quot;</span><span class="p">)</span>
79389-
<span class="n">emp</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">df</span><span class="p">[</span><span class="s2">&quot;salary_x&quot;</span><span class="p">]</span> <span class="o">&gt;</span> <span class="n">df</span><span class="p">[</span><span class="s2">&quot;salary_y&quot;</span><span class="p">]][</span><span class="s2">&quot;name_x&quot;</span><span class="p">]</span>
79390-
79391-
<span class="k">return</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">({</span><span class="s2">&quot;Employee&quot;</span><span class="p">:</span> <span class="n">emp</span><span class="p">})</span>
79392-
</code></pre></div></td></tr></table></div>
79393-
</div>
79394-
<div class="tabbed-block">
79395-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
79396-
<span class="normal">2</span>
79397-
<span class="normal">3</span>
79398-
<span class="normal">4</span>
79399-
<span class="normal">5</span>
79400-
<span class="normal">6</span>
79401-
<span class="normal">7</span>
79402-
<span class="normal">8</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">SELECT</span><span class="w"> </span><span class="n">Name</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">Employee</span>
79403-
<span class="k">FROM</span><span class="w"> </span><span class="n">Employee</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">Curr</span>
79404-
<span class="k">WHERE</span>
79405-
<span class="w"> </span><span class="n">Salary</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="p">(</span>
79406-
<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">Salary</span>
79407-
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Employee</span>
79408-
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">Id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Curr</span><span class="p">.</span><span class="n">ManagerId</span>
79409-
<span class="w"> </span><span class="p">);</span>
79382+
<span class="n">merged</span> <span class="o">=</span> <span class="n">employee</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span>
79383+
<span class="n">employee</span><span class="p">,</span> <span class="n">left_on</span><span class="o">=</span><span class="s2">&quot;managerId&quot;</span><span class="p">,</span> <span class="n">right_on</span><span class="o">=</span><span class="s2">&quot;id&quot;</span><span class="p">,</span> <span class="n">suffixes</span><span class="o">=</span><span class="p">(</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="s2">&quot;_manager&quot;</span><span class="p">)</span>
79384+
<span class="p">)</span>
79385+
<span class="n">result</span> <span class="o">=</span> <span class="n">merged</span><span class="p">[</span><span class="n">merged</span><span class="p">[</span><span class="s2">&quot;salary&quot;</span><span class="p">]</span> <span class="o">&gt;</span> <span class="n">merged</span><span class="p">[</span><span class="s2">&quot;salary_manager&quot;</span><span class="p">]][[</span><span class="s2">&quot;name&quot;</span><span class="p">]]</span>
79386+
<span class="n">result</span><span class="o">.</span><span class="n">columns</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;Employee&quot;</span><span class="p">]</span>
79387+
<span class="k">return</span> <span class="n">result</span>
7941079388
</code></pre></div></td></tr></table></div>
7941179389
</div>
79412-
</div>
79413-
</div>
79414-
<!-- solution:end -->
79415-
79416-
<!-- solution:start -->
79417-
79418-
<h3 id="solution-2">Solution 2</h3>
79419-
<div class="tabbed-set tabbed-alternate" data-tabs="2:1"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">MySQL</label></div>
79420-
<div class="tabbed-content">
7942179390
<div class="tabbed-block">
7942279391
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
7942379392
<span class="normal">2</span>
7942479393
<span class="normal">3</span>
7942579394
<span class="normal">4</span>
7942679395
<span class="normal">5</span>
79427-
<span class="normal">6</span>
79428-
<span class="normal">7</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>
79429-
<span class="k">SELECT</span>
79430-
<span class="w"> </span><span class="n">e1</span><span class="p">.</span><span class="n">name</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">Employee</span>
79396+
<span class="normal">6</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>
79397+
<span class="k">SELECT</span><span class="w"> </span><span class="n">e1</span><span class="p">.</span><span class="n">name</span><span class="w"> </span><span class="n">Employee</span>
7943179398
<span class="k">FROM</span>
79432-
<span class="w"> </span><span class="n">Employee</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">e1</span>
79433-
<span class="w"> </span><span class="k">JOIN</span><span class="w"> </span><span class="n">Employee</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">e2</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">e1</span><span class="p">.</span><span class="n">managerId</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">e2</span><span class="p">.</span><span class="n">id</span>
79399+
<span class="w"> </span><span class="n">Employee</span><span class="w"> </span><span class="n">e1</span>
79400+
<span class="w"> </span><span class="k">JOIN</span><span class="w"> </span><span class="n">Employee</span><span class="w"> </span><span class="n">e2</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">e1</span><span class="p">.</span><span class="n">managerId</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">e2</span><span class="p">.</span><span class="n">id</span>
7943479401
<span class="k">WHERE</span><span class="w"> </span><span class="n">e1</span><span class="p">.</span><span class="n">salary</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">e2</span><span class="p">.</span><span class="n">salary</span><span class="p">;</span>
7943579402
</code></pre></div></td></tr></table></div>
7943679403
</div>

en/lc/459/index.html

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -16791,15 +16791,6 @@
1679116791
</span>
1679216792
</a>
1679316793

16794-
</li>
16795-
16796-
<li class="md-nav__item">
16797-
<a href="#solution-2" class="md-nav__link">
16798-
<span class="md-ellipsis">
16799-
Solution 2
16800-
</span>
16801-
</a>
16802-
1680316794
</li>
1680416795

1680516796
</ul>
@@ -79435,57 +79426,6 @@ <h3 id="solution-1">Solution 1</h3>
7943579426
</div>
7943679427
<!-- solution:end -->
7943779428

79438-
<!-- solution:start -->
79439-
79440-
<h3 id="solution-2">Solution 2</h3>
79441-
<div class="tabbed-set tabbed-alternate" data-tabs="2:1"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">TypeScript</label></div>
79442-
<div class="tabbed-content">
79443-
<div class="tabbed-block">
79444-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
79445-
<span class="normal"> 2</span>
79446-
<span class="normal"> 3</span>
79447-
<span class="normal"> 4</span>
79448-
<span class="normal"> 5</span>
79449-
<span class="normal"> 6</span>
79450-
<span class="normal"> 7</span>
79451-
<span class="normal"> 8</span>
79452-
<span class="normal"> 9</span>
79453-
<span class="normal">10</span>
79454-
<span class="normal">11</span>
79455-
<span class="normal">12</span>
79456-
<span class="normal">13</span>
79457-
<span class="normal">14</span>
79458-
<span class="normal">15</span>
79459-
<span class="normal">16</span>
79460-
<span class="normal">17</span>
79461-
<span class="normal">18</span>
79462-
<span class="normal">19</span>
79463-
<span class="normal">20</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">repeatedSubstringPattern</span><span class="p">(</span><span class="nx">s</span><span class="o">:</span><span class="w"> </span><span class="kt">string</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>
79464-
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">s</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span>
79465-
<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">i</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">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="nx">n</span><span class="w"> </span><span class="o">&gt;&gt;</span><span class="w"> </span><span class="mf">1</span><span class="p">;</span><span class="w"> </span><span class="nx">i</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
79466-
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">len</span><span class="w"> </span><span class="o">=</span><span class="w"> </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>
79467-
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">n</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="nx">len</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>
79468-
<span class="w"> </span><span class="k">continue</span><span class="p">;</span>
79469-
<span class="w"> </span><span class="p">}</span>
79470-
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">s</span><span class="p">.</span><span class="nx">slice</span><span class="p">(</span><span class="mf">0</span><span class="p">,</span><span class="w"> </span><span class="nx">len</span><span class="p">);</span>
79471-
<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">j</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">;</span>
79472-
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="nx">j</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">len</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="nx">j</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="nx">len</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
79473-
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">s</span><span class="p">.</span><span class="nx">slice</span><span class="p">(</span><span class="nx">j</span><span class="p">,</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">len</span><span class="p">)</span><span class="w"> </span><span class="o">!==</span><span class="w"> </span><span class="nx">t</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
79474-
<span class="w"> </span><span class="k">break</span><span class="p">;</span>
79475-
<span class="w"> </span><span class="p">}</span>
79476-
<span class="w"> </span><span class="p">}</span>
79477-
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</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><span class="w"> </span><span class="p">{</span>
79478-
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
79479-
<span class="w"> </span><span class="p">}</span>
79480-
<span class="w"> </span><span class="p">}</span>
79481-
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">false</span><span class="p">;</span>
79482-
<span class="p">}</span>
79483-
</code></pre></div></td></tr></table></div>
79484-
</div>
79485-
</div>
79486-
</div>
79487-
<!-- solution:end -->
79488-
7948979429
<!-- problem:end -->
7949079430

7949179431

0 commit comments

Comments
 (0)