File tree 13 files changed +124
-61
lines changed
0511.Game Play Analysis I
0512.Game Play Analysis II
0586.Customer Placing the Largest Number of Orders
1500-1599/1571.Warehouse Manager
2600-2699/2611.Mice and Cheese
13 files changed +124
-61
lines changed Original file line number Diff line number Diff line change @@ -60,10 +60,12 @@ Result 表:
60
60
61
61
``` sql
62
62
SELECT
63
- player_id, MIN (event_date) first_login
63
+ player_id,
64
+ MIN (event_date) first_login
64
65
FROM
65
66
Activity
66
- GROUP BY player_id;
67
+ GROUP BY
68
+ player_id;
67
69
```
68
70
69
71
<!-- tabs:end -->
Original file line number Diff line number Diff line change @@ -61,10 +61,12 @@ Activity table:
61
61
62
62
``` sql
63
63
SELECT
64
- player_id, MIN (event_date) first_login
64
+ player_id,
65
+ MIN (event_date) first_login
65
66
FROM
66
67
Activity
67
- GROUP BY player_id;
68
+ GROUP BY
69
+ player_id;
68
70
```
69
71
70
72
<!-- tabs:end -->
Original file line number Diff line number Diff line change 1
- SELECT
2
- player_id, MIN (event_date) first_login
1
+ SELECT
2
+ player_id,
3
+ MIN (event_date) first_login
3
4
FROM
4
5
Activity
5
- GROUP BY player_id;
6
+ GROUP BY
7
+ player_id;
Original file line number Diff line number Diff line change @@ -56,7 +56,22 @@ Result table:
56
56
### ** SQL**
57
57
58
58
``` sql
59
-
59
+ # Write your MySQL query statement below
60
+ select
61
+ player_id,
62
+ device_id
63
+ from
64
+ Activity
65
+ where
66
+ (player_id, event_date) in (
67
+ select
68
+ player_id,
69
+ min (event_date) event_date
70
+ from
71
+ Activity
72
+ group by
73
+ player_id
74
+ )
60
75
```
61
76
62
77
<!-- tabs:end -->
Original file line number Diff line number Diff line change @@ -60,7 +60,22 @@ Activity table:
60
60
### ** SQL**
61
61
62
62
``` sql
63
-
63
+ # Write your MySQL query statement below
64
+ select
65
+ player_id,
66
+ device_id
67
+ from
68
+ Activity
69
+ where
70
+ (player_id, event_date) in (
71
+ select
72
+ player_id,
73
+ min (event_date) event_date
74
+ from
75
+ Activity
76
+ group by
77
+ player_id
78
+ )
64
79
```
65
80
66
81
<!-- tabs:end -->
Original file line number Diff line number Diff line change
1
+ # Write your MySQL query statement below
2
+ select
3
+ player_id,
4
+ device_id
5
+ from
6
+ Activity
7
+ where
8
+ (player_id, event_date) in (
9
+ select
10
+ player_id,
11
+ min (event_date) event_date
12
+ from
13
+ Activity
14
+ group by
15
+ player_id
16
+ )
Original file line number Diff line number Diff line change @@ -66,13 +66,17 @@ customer_number 为 '3' 的顾客有两个订单,比顾客 '1' 或者 '2' 都
66
66
### ** SQL**
67
67
68
68
``` sql
69
+ # Write your MySQL query statement below
69
70
SELECT
70
71
customer_number
71
72
FROM
72
- Orders
73
- GROUP BY customer_number
74
- ORDER BY COUNT (customer_number) DESC
75
- LIMIT 1 ;
73
+ orders
74
+ GROUP BY
75
+ customer_number
76
+ ORDER BY
77
+ count (1 ) DESC
78
+ LIMIT
79
+ 1 ;
76
80
```
77
81
78
82
SQL Server
Original file line number Diff line number Diff line change @@ -60,13 +60,17 @@ So the result is customer_number 3.
60
60
### ** SQL**
61
61
62
62
``` sql
63
+ # Write your MySQL query statement below
63
64
SELECT
64
65
customer_number
65
66
FROM
66
- Orders
67
- GROUP BY customer_number
68
- ORDER BY COUNT (customer_number) DESC
69
- LIMIT 1 ;
67
+ orders
68
+ GROUP BY
69
+ customer_number
70
+ ORDER BY
71
+ count (1 ) DESC
72
+ LIMIT
73
+ 1 ;
70
74
```
71
75
72
76
SQL Server
Original file line number Diff line number Diff line change 1
- SELECT
1
+ # Write your MySQL query statement below
2
+ SELECT
2
3
customer_number
3
4
FROM
4
- Orders
5
- GROUP BY customer_number
6
- ORDER BY COUNT (customer_number) DESC
7
- LIMIT 1 ;
5
+ orders
6
+ GROUP BY
7
+ customer_number
8
+ ORDER BY
9
+ count (1 ) DESC
10
+ LIMIT
11
+ 1 ;
Original file line number Diff line number Diff line change @@ -98,26 +98,18 @@ Id为4的商品(LC-T-Shirt)的存货量为 4x10x20 = 800
98
98
99
99
<!-- tabs:start -->
100
100
101
- ### ** Python3**
102
-
103
- <!-- 这里可写当前语言的特殊实现逻辑 -->
104
-
105
- ``` python
106
-
107
- ```
108
-
109
- ### ** Java**
110
-
111
- <!-- 这里可写当前语言的特殊实现逻辑 -->
112
-
113
- ``` java
114
-
115
- ```
116
-
117
- ### ** ...**
118
-
119
- ```
120
-
101
+ ### ** SQL**
102
+
103
+ ``` sql
104
+ # Write your MySQL query statement below
105
+ SELECT
106
+ name AS warehouse_name,
107
+ SUM (units * Width * Length * Height) AS volume
108
+ FROM
109
+ Warehouse w
110
+ JOIN Products p ON w .product_id = p .product_id
111
+ GROUP BY
112
+ name
121
113
```
122
114
123
115
<!-- tabs:end -->
Original file line number Diff line number Diff line change @@ -94,22 +94,18 @@ LCHouse3: 1 unit of LC-T-Shirt.
94
94
95
95
<!-- tabs:start -->
96
96
97
- ### ** Python3**
98
-
99
- ``` python
100
-
101
- ```
102
-
103
- ### ** Java**
104
-
105
- ``` java
106
-
107
- ```
108
-
109
- ### ** ...**
110
-
111
- ```
112
-
97
+ ### ** SQL**
98
+
99
+ ``` sql
100
+ # Write your MySQL query statement below
101
+ SELECT
102
+ name AS warehouse_name,
103
+ SUM (units * Width * Length * Height) AS volume
104
+ FROM
105
+ Warehouse w
106
+ JOIN Products p ON w .product_id = p .product_id
107
+ GROUP BY
108
+ name
113
109
```
114
110
115
111
<!-- tabs:end -->
Original file line number Diff line number Diff line change
1
+ # Write your MySQL query statement below
2
+ SELECT
3
+ name AS warehouse_name,
4
+ SUM (units * Width * Length * Height) AS volume
5
+ FROM
6
+ Warehouse w
7
+ JOIN Products p ON w .product_id = p .product_id
8
+ GROUP BY
9
+ name
Original file line number Diff line number Diff line change 57
57
58
58
** 方法一:贪心 + 排序**
59
59
60
- 我们可以先将所有奶酪分给第二只老鼠,接下来,考虑将其中 $k$ 块奶酪分给第一只老鼠,那么我们应该如何选择这 $k$ 块奶酪呢?显然,将第 $i$ 块奶酪从第二只老鼠分给第一只老鼠,得分的变化量为 $reward1 [ i ] - reward2[ i] $,我们希望这个变化量尽可能大,这样才能使得总得分最大 。
60
+ 我们可以先将所有奶酪分给第二只老鼠,因此初始得分为 $\sum _ {i=0}^{n-1} reward2[ i] $。
61
61
62
- 因此,我们将奶酪按照 ` reward1[i] - reward2[i] ` 从大到小排序,前 $k$ 块奶酪由第一只老鼠吃掉,剩下的奶酪由第二只老鼠吃掉,即可得到最大得分 。
62
+ 接下来,考虑将其中 $k$ 块奶酪分给第一只老鼠,那么我们应该如何选择这 $k$ 块奶酪呢?显然,将第 $i$ 块奶酪从第二只老鼠分给第一只老鼠,得分的变化量为 $ reward1[ i] - reward2[ i] $,我们希望这个变化量尽可能大,这样才能使得总得分最大 。
63
63
64
- 时间复杂度 $O(n \times \log n)$,空间复杂度 $O(n)$。其中 $n$ 为奶酪的数量。
64
+ 因此,我们将奶酪按照 $reward1[ i] - reward2[ i] $ 从大到小排序,前 $k$ 块奶酪由第一只老鼠吃掉,剩下的奶酪由第二只老鼠吃掉,即可得到最大得分。也即是说,我们将初始得分加上 $\sum_ {i=0}^{k-1} (reward1[ i] - reward2[ i] )$ 即可。
65
+
66
+ 时间复杂度 $O(n \times \log n)$,空间复杂度 $O(\log n)$。其中 $n$ 为奶酪的数量。
65
67
66
68
相似题目:
67
69
You can’t perform that action at this time.
0 commit comments