| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,39 @@ | |||
| 1 | + # Time: O(nlogn) | ||
| 2 | + # Space: O(n) | ||
| 3 | + | ||
| 4 | + WITH senior_cte AS | ||
| 5 | + ( | ||
| 6 | + SELECT 'Senior' AS experience, | ||
| 7 | + IFNULL(MAX(salary_accu), 0) AS salary, | ||
| 8 | + IFNULL(MAX(rn), 0) AS rn | ||
| 9 | + FROM | ||
| 10 | + ( | ||
| 11 | + SELECT SUM(salary) OVER(ORDER BY salary, employee_id) AS salary_accu, | ||
| 12 | + ROW_NUMBER() OVER(ORDER BY salary, employee_id) rn | ||
| 13 | + FROM candidates | ||
| 14 | + WHERE experience = 'Senior' | ||
| 15 | + ) a | ||
| 16 | + WHERE salary_accu <= 70000 | ||
| 17 | + ), | ||
| 18 | + junior_cte AS | ||
| 19 | + ( | ||
| 20 | + SELECT 'Junior' AS experience, | ||
| 21 | + IFNULL(MAX(salary_accu), 0) AS salary, | ||
| 22 | + IFNULL(MAX(rn), 0) AS rn | ||
| 23 | + FROM | ||
| 24 | + ( | ||
| 25 | + SELECT SUM(salary) OVER(ORDER BY salary, employee_id) AS salary_accu, | ||
| 26 | + ROW_NUMBER() OVER(ORDER BY salary, employee_id) AS rn | ||
| 27 | + FROM candidates | ||
| 28 | + WHERE experience = 'Junior' | ||
| 29 | + ) a | ||
| 30 | + WHERE salary_accu + (SELECT salary FROM senior_cte) <= 70000 | ||
| 31 | + ) | ||
| 32 | + | ||
| 33 | + SELECT experience, rn AS accepted_candidates | ||
| 34 | + FROM | ||
| 35 | + ( | ||
| 36 | + SELECT experience, rn FROM senior_cte | ||
| 37 | + UNION ALL | ||
| 38 | + SELECT experience, rn FROM junior_cte | ||
| 39 | + ) a; | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments