LeetCode(数据库)- 2142. The Number of Passengers in Each Bus I

简介: LeetCode(数据库)- 2142. The Number of Passengers in Each Bus I

题目链接:点击打开链接

题目大意:略。

解题思路:略。

相关企业:略。

AC 代码


-- 解决方案(1)
WITH t AS(SELECT * FROM Buses UNION ALL SELECT -1, -1),
t1 AS(SELECT *, ROW_NUMBER() OVER(ORDER BY arrival_time) rk FROM t),
t2 AS(SELECT ta.bus_id, ta.arrival_time low, tb.arrival_time high
FROM t1 ta JOIN t1 tb ON ta.rk + 1 = tb.rk),
t3 AS(SELECT high arrival_time, COUNT(*) cnt
FROM t2 JOIN Passengers p ON p.arrival_time > low AND p.arrival_time <= high
GROUP BY 1)
SELECT bus_id, IFNULL(cnt, 0) passengers_cnt
FROM Buses LEFT JOIN t3 USING(arrival_time)
ORDER BY 1
-- 解决方案(2)
select b.bus_id, count(t.passenger_id) passengers_cnt
from Buses b 
left join (
    select p.passenger_id, min(b.arrival_time) bus_arrival_time
    from Passengers p
    left join Buses b on b.arrival_time >= p.arrival_time
    group by p.passenger_id
) t on b.arrival_time = t.bus_arrival_time
group by b.bus_id
order by b.bus_id;
目录
相关文章
|
算法
Leetcode 313. Super Ugly Number
题目翻译成中文是『超级丑数』,啥叫丑数?丑数就是素因子只有2,3,5的数,7 14 21不是丑数,因为他们都有7这个素数。 这里的超级丑数只是对丑数的一个扩展,超级丑数的素因子不再仅限于2 3 5,而是由题目给定一个素数数组。与朴素丑数算法相比,只是将素因子变了而已,解法还是和朴素丑数一致的。
101 1
|
5月前
|
存储 SQL 算法
LeetCode 题目 65:有效数字(Valid Number)【python】
LeetCode 题目 65:有效数字(Valid Number)【python】
|
6月前
|
存储 算法
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
47 0
|
Oracle 关系型数据库 数据库
在Flink CDC中,使用Oracle 11g数据库的NUMBER类型作为主键
在Flink CDC中,使用Oracle 11g数据库的NUMBER类型作为主键
123 1
|
存储
Leetcode Single Number II (面试题推荐)
给你一个整数数组,每个元素出现了三次,但只有一个元素出现了一次,让你找出这个数,要求线性的时间复杂度,不使用额外空间。
39 0
|
数据库
数据库LeetCode每日练习(三)
数据库LeetCode每日练习(三)
数据库LeetCode每日练习(三)
|
SQL 数据库
数据库LeetCode每日练习(二)
数据库LeetCode每日练习(二)
数据库LeetCode每日练习(二)
|
SQL 数据库
数据库LeetCode每日练习(一)
数据库LeetCode每日练习(一)
数据库LeetCode每日练习(一)
LeetCode contest 190 5417. 定长子串中元音的最大数目 Maximum Number of Vowels in a Substring of Given Length
LeetCode contest 190 5417. 定长子串中元音的最大数目 Maximum Number of Vowels in a Substring of Given Length
下一篇
无影云桌面