1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-09-13 11:21:42 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
This commit is contained in:
2025-06-18 01:10:28 +08:00
parent e4efda71b2
commit 1e59635fae
68 changed files with 17746 additions and 9789 deletions

View File

@@ -0,0 +1,132 @@
<p>表:<code>patients</code></p>
<pre>
+-------------+---------+
| Column Name | Type |
+-------------+---------+
| patient_id | int |
| patient_name| varchar |
| age | int |
+-------------+---------+
patient_id 是这张表的唯一主键。
每一行表示一个患者的信息。
</pre>
<p>表:<code>covid_tests</code></p>
<pre>
+-------------+---------+
| Column Name | Type |
+-------------+---------+
| test_id | int |
| patient_id | int |
| test_date | date |
| result | varchar |
+-------------+---------+
test_id 是这张表的唯一主键。
每一行代表一个 COVID 检测结果。结果可以是阳性、阴性或不确定。
</pre>
<p>编写一个解决方案以找到从 COVID 中康复的患者——那些曾经检测呈阳性但后来检测呈阴性的患者。</p>
<ul>
<li>患者如果 <strong>至少有一次阳性</strong> 检测结果后,在&nbsp;<strong>之后的日期</strong> 至少有一次 <strong>阴性</strong> 检测结果,则被认为已康复。</li>
<li>计算从 <strong>首次阳性检测</strong> 结果到 <strong>该阳性检测</strong> 后的 <strong>首次阴性检测结果</strong> 之间的 <strong>康复时间</strong>(以天为单位)</li>
<li><strong>仅包括&nbsp;</strong>同时具有阳性及阴性检测结果的患者</li>
</ul>
<p>返回结果表以<em>&nbsp;</em><code>recovery_time</code><em> </em><strong>升序 </strong>排序,然后以<em>&nbsp;</em><code>patient_name</code><em> </em><strong>升序&nbsp;</strong>排序。</p>
<p>结果格式如下所示。</p>
<p>&nbsp;</p>
<p><strong class="example">示例:</strong></p>
<div class="example-block">
<p><strong>输入:</strong></p>
<p>patients 表:</p>
<pre class="example-io">
+------------+--------------+-----+
| patient_id | patient_name | age |
+------------+--------------+-----+
| 1 | Alice Smith | 28 |
| 2 | Bob Johnson | 35 |
| 3 | Carol Davis | 42 |
| 4 | David Wilson | 31 |
| 5 | Emma Brown | 29 |
+------------+--------------+-----+
</pre>
<p>covid_tests 表:</p>
<pre class="example-io">
+---------+------------+------------+--------------+
| test_id | patient_id | test_date | result |
+---------+------------+------------+--------------+
| 1 | 1 | 2023-01-15 | Positive |
| 2 | 1 | 2023-01-25 | Negative |
| 3 | 2 | 2023-02-01 | Positive |
| 4 | 2 | 2023-02-05 | Inconclusive |
| 5 | 2 | 2023-02-12 | Negative |
| 6 | 3 | 2023-01-20 | Negative |
| 7 | 3 | 2023-02-10 | Positive |
| 8 | 3 | 2023-02-20 | Negative |
| 9 | 4 | 2023-01-10 | Positive |
| 10 | 4 | 2023-01-18 | Positive |
| 11 | 5 | 2023-02-15 | Negative |
| 12 | 5 | 2023-02-20 | Negative |
+---------+------------+------------+--------------+
</pre>
<p><strong>输出:</strong></p>
<pre class="example-io">
+------------+--------------+-----+---------------+
| patient_id | patient_name | age | recovery_time |
+------------+--------------+-----+---------------+
| 1 | Alice Smith | 28 | 10 |
| 3 | Carol Davis | 42 | 10 |
| 2 | Bob Johnson | 35 | 11 |
+------------+--------------+-----+---------------+
</pre>
<p><strong>解释:</strong></p>
<ul>
<li><strong>Alice Smith (patient_id = 1):</strong>
<ul>
<li>首次阳性检测2023-01-15</li>
<li>阳性检测后的首次阴性检测2023-01-25</li>
<li>康复时间25 - 15 = 10 天</li>
</ul>
</li>
<li><strong>Bob Johnson (patient_id = 2):</strong>
<ul>
<li>首次阳性检测2023-02-01</li>
<li>测试结果不明确2023-02-05忽略计算康复时间</li>
<li>阳性检测后的首次阴性检测2023-02-12</li>
<li>康复时间12 - 1 = 11 天</li>
</ul>
</li>
<li><strong>Carol Davis (patient_id = 3):</strong>
<ul>
<li>检测呈阴性2023-01-20在阳性检测前</li>
<li>首次阳性检测2023-02-10</li>
<li>阳性检测后的首次阴性检测2023-02-20</li>
<li>康复时间20 - 10 = 10 天</li>
</ul>
</li>
<li><strong>没有包含的患者:</strong>
<ul>
<li>David Wilsonpatient_id = 4只有阳性检测之后没有阴性检测。</li>
<li>Emma Brownpatient_id = 5只有阴性检测从未有阳性检测。</li>
</ul>
</li>
</ul>
<p>输出表以 recovery_time 升序排序,然后以 patient_name 升序排序。</p>
</div>