Skip to content

Commit e66d712

Browse files
committed
deploy: 638d7eb
1 parent 7dcf1fd commit e66d712

File tree

4 files changed

+108
-12
lines changed

4 files changed

+108
-12
lines changed

en/lc/184/index.html

Lines changed: 53 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91317,7 +91317,7 @@ <h2 id="solutions">Solutions</h2>
9131791317

9131891318
<h3 id="solution-1-equi-join-subquery">Solution 1: Equi-Join + Subquery</h3>
9131991319
<p>We can use an equi-join to join the <code>Employee</code> table and the <code>Department</code> table based on <code>Employee.departmentId = Department.id</code>, and then use a subquery to find the highest salary for each department. Finally, we can use a <code>WHERE</code> clause to filter out the employees with the highest salary in each department.</p>
91320-
<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>
91320+
<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">MySQL</label><label for="__tabbed_1_2">Python3</label></div>
9132191321
<div class="tabbed-content">
9132291322
<div class="tabbed-block">
9132391323
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -91343,6 +91343,48 @@ <h3 id="solution-1-equi-join-subquery">Solution 1: Equi-Join + Subquery</h3>
9134391343
<span class="w"> </span><span class="p">);</span>
9134491344
</code></pre></div></td></tr></table></div>
9134591345
</div>
91346+
<div class="tabbed-block">
91347+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
91348+
<span class="normal"> 2</span>
91349+
<span class="normal"> 3</span>
91350+
<span class="normal"> 4</span>
91351+
<span class="normal"> 5</span>
91352+
<span class="normal"> 6</span>
91353+
<span class="normal"> 7</span>
91354+
<span class="normal"> 8</span>
91355+
<span class="normal"> 9</span>
91356+
<span class="normal">10</span>
91357+
<span class="normal">11</span>
91358+
<span class="normal">12</span>
91359+
<span class="normal">13</span>
91360+
<span class="normal">14</span>
91361+
<span class="normal">15</span>
91362+
<span class="normal">16</span>
91363+
<span class="normal">17</span>
91364+
<span class="normal">18</span>
91365+
<span class="normal">19</span>
91366+
<span class="normal">20</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kn">import</span><span class="w"> </span><span class="nn">pandas</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pd</span>
91367+
91368+
91369+
<span class="k">def</span><span class="w"> </span><span class="nf">department_highest_salary</span><span class="p">(</span>
91370+
<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="n">department</span><span class="p">:</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span>
91371+
<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>
91372+
<span class="c1"># Merge the two tables on departmentId and department id</span>
91373+
<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><span class="n">department</span><span class="p">,</span> <span class="n">left_on</span><span class="o">=</span><span class="s1">&#39;departmentId&#39;</span><span class="p">,</span> <span class="n">right_on</span><span class="o">=</span><span class="s1">&#39;id&#39;</span><span class="p">)</span>
91374+
91375+
<span class="c1"># Find the maximum salary for each department</span>
91376+
<span class="n">max_salaries</span> <span class="o">=</span> <span class="n">merged</span><span class="o">.</span><span class="n">groupby</span><span class="p">(</span><span class="s1">&#39;departmentId&#39;</span><span class="p">)[</span><span class="s1">&#39;salary&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="s1">&#39;max&#39;</span><span class="p">)</span>
91377+
91378+
<span class="c1"># Filter employees who have the highest salary in their department</span>
91379+
<span class="n">top_earners</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="s1">&#39;salary&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="n">max_salaries</span><span class="p">]</span>
91380+
91381+
<span class="c1"># Select required columns and rename them</span>
91382+
<span class="n">result</span> <span class="o">=</span> <span class="n">top_earners</span><span class="p">[[</span><span class="s1">&#39;name_y&#39;</span><span class="p">,</span> <span class="s1">&#39;name_x&#39;</span><span class="p">,</span> <span class="s1">&#39;salary&#39;</span><span class="p">]]</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
91383+
<span class="n">result</span><span class="o">.</span><span class="n">columns</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;Department&#39;</span><span class="p">,</span> <span class="s1">&#39;Employee&#39;</span><span class="p">,</span> <span class="s1">&#39;Salary&#39;</span><span class="p">]</span>
91384+
91385+
<span class="k">return</span> <span class="n">result</span>
91386+
</code></pre></div></td></tr></table></div>
91387+
</div>
9134691388
</div>
9134791389
</div>
9134891390
<!-- solution:end -->
@@ -91424,6 +91466,11 @@ <h3 id="solution-2-equi-join-window-function">Solution 2: Equi-Join + Window Fun
9142491466

9142591467
<nav>
9142691468

91469+
<a href="https://github.com/iamAntimPal" class="md-author" title="@iamAntimPal">
91470+
91471+
<img src="https://avatars.githubusercontent.com/u/134076504?v=4&size=72" alt="iamAntimPal">
91472+
</a>
91473+
9142791474
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
9142891475

9142991476
<img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">
@@ -91439,12 +91486,13 @@ <h3 id="solution-2-equi-join-window-function">Solution 2: Equi-Join + Window Fun
9143991486
<img src="https://avatars.githubusercontent.com/u/70502828?v=4&size=72" alt="YangFong">
9144091487
</a>
9144191488

91442-
<a href="https://github.com/LjyYano" class="md-author" title="@LjyYano">
91443-
91444-
<img src="https://avatars.githubusercontent.com/u/9548512?v=4&size=72" alt="LjyYano">
91445-
</a>
9144691489

9144791490

91491+
91492+
<a href="https://github.com/doocs/leetcode/blob/main/solution/0100-0199/0184.Department%20Highest%20Salary/README_EN.md" class="md-author md-author--more">
91493+
+1
91494+
</a>
91495+
9144891496

9144991497
</nav>
9145091498
</span>

en/search/search_index.json

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

0 commit comments

Comments
 (0)