Skip to content

Commit e267793

Browse files
committed
feat: add solution to lc problem: No.1098
No.1098: Unpopular Books
1 parent dc9ce3b commit e267793

File tree

8 files changed

+81
-57
lines changed

8 files changed

+81
-57
lines changed

solution/1000-1099/1073.Adding Two Negabinary Numbers/Solution.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ function addNegabinary(arr1: number[], arr2: number[]): number[] {
2020
ans.pop();
2121
}
2222
return ans.reverse();
23-
}
23+
}

solution/1000-1099/1091.Shortest Path in Binary Matrix/Solution.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,4 @@ function shortestPathBinaryMatrix(grid: number[][]): number {
2323
q = nq;
2424
}
2525
return -1;
26-
};
26+
}

solution/1000-1099/1093.Statistics from a Large Sample/README.md

+16-13
Original file line numberDiff line numberDiff line change
@@ -69,19 +69,19 @@
6969

7070
我们直接根据题目描述模拟即可,定义以下变量:
7171

72-
- 变量 $mi$ 表示最小值;
73-
- 变量 $mx$ 表示最大值;
74-
- 变量 $s$ 表示总和;
75-
- 变量 $cnt$ 表示总个数;
76-
- 变量 $mode$ 表示众数。
72+
- 变量 $mi$ 表示最小值;
73+
- 变量 $mx$ 表示最大值;
74+
- 变量 $s$ 表示总和;
75+
- 变量 $cnt$ 表示总个数;
76+
- 变量 $mode$ 表示众数。
7777

7878
我们遍历数组 $count$,对于当前遍历到的数字 $count[k]$,如果 $count[k] \gt 0$,那么我们做以下更新操作:
7979

80-
- 更新 $mi = \min(mi, k)$;
81-
- 更新 $mx = \max(mx, k)$;
82-
- 更新 $s = s + k \times count[k]$;
83-
- 更新 $cnt = cnt + count[k]$;
84-
- 如果 $count[k] \gt count[mode]$,那么更新 $mode = k$。
80+
- 更新 $mi = \min(mi, k)$;
81+
- 更新 $mx = \max(mx, k)$;
82+
- 更新 $s = s + k \times count[k]$;
83+
- 更新 $cnt = cnt + count[k]$;
84+
- 如果 $count[k] \gt count[mode]$,那么更新 $mode = k$。
8585

8686
遍历结束后,我们再根据 $cnt$ 的奇偶性来更新中位数 $median$,如果 $cnt$ 是奇数,那么中位数就是第 $\lfloor \frac{cnt}{2} \rfloor + 1$ 个数字,如果 $cnt$ 是偶数,那么中位数就是第 $\lfloor \frac{cnt}{2} \rfloor$ 和第 $\lfloor \frac{cnt}{2} \rfloor + 1$ 个数字的平均值。
8787

@@ -257,7 +257,7 @@ function sampleStats(count: number[]): number[] {
257257
return k;
258258
}
259259
}
260-
}
260+
};
261261
let mi = 1 << 30;
262262
let mx = -1;
263263
let [s, cnt, mode] = [0, 0, 0];
@@ -272,9 +272,12 @@ function sampleStats(count: number[]): number[] {
272272
}
273273
}
274274
}
275-
const median = cnt % 2 === 1 ? find((cnt >> 1) + 1) : (find(cnt >> 1) + find((cnt >> 1) + 1)) / 2;
275+
const median =
276+
cnt % 2 === 1
277+
? find((cnt >> 1) + 1)
278+
: (find(cnt >> 1) + find((cnt >> 1) + 1)) / 2;
276279
return [mi, mx, s / cnt, median, mode];
277-
};
280+
}
278281
```
279282

280283
### **...**

solution/1000-1099/1093.Statistics from a Large Sample/README_EN.md

+6-3
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ function sampleStats(count: number[]): number[] {
224224
return k;
225225
}
226226
}
227-
}
227+
};
228228
let mi = 1 << 30;
229229
let mx = -1;
230230
let [s, cnt, mode] = [0, 0, 0];
@@ -239,9 +239,12 @@ function sampleStats(count: number[]): number[] {
239239
}
240240
}
241241
}
242-
const median = cnt % 2 === 1 ? find((cnt >> 1) + 1) : (find(cnt >> 1) + find((cnt >> 1) + 1)) / 2;
242+
const median =
243+
cnt % 2 === 1
244+
? find((cnt >> 1) + 1)
245+
: (find(cnt >> 1) + find((cnt >> 1) + 1)) / 2;
243246
return [mi, mx, s / cnt, median, mode];
244-
};
247+
}
245248
```
246249

247250
### **...**

solution/1000-1099/1093.Statistics from a Large Sample/Solution.ts

+6-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ function sampleStats(count: number[]): number[] {
66
return k;
77
}
88
}
9-
}
9+
};
1010
let mi = 1 << 30;
1111
let mx = -1;
1212
let [s, cnt, mode] = [0, 0, 0];
@@ -21,6 +21,9 @@ function sampleStats(count: number[]): number[] {
2121
}
2222
}
2323
}
24-
const median = cnt % 2 === 1 ? find((cnt >> 1) + 1) : (find(cnt >> 1) + find((cnt >> 1) + 1)) / 2;
24+
const median =
25+
cnt % 2 === 1
26+
? find((cnt >> 1) + 1)
27+
: (find(cnt >> 1) + find((cnt >> 1) + 1)) / 2;
2528
return [mi, mx, s / cnt, median, mode];
26-
};
29+
}

solution/1000-1099/1098.Unpopular Books/README.md

+18-20
Original file line numberDiff line numberDiff line change
@@ -82,26 +82,24 @@ Result 表:
8282

8383
<!-- tabs:start -->
8484

85-
### **Python3**
86-
87-
<!-- 这里可写当前语言的特殊实现逻辑 -->
88-
89-
```python
90-
91-
```
92-
93-
### **Java**
94-
95-
<!-- 这里可写当前语言的特殊实现逻辑 -->
96-
97-
```java
98-
99-
```
100-
101-
### **...**
102-
103-
```
104-
85+
### **SQL**
86+
87+
```sql
88+
# Write your MySQL query statement below
89+
SELECT
90+
b.book_id,
91+
b.NAME
92+
FROM
93+
books b
94+
LEFT JOIN orders o ON b.book_id = o.book_id
95+
WHERE
96+
b.available_from < '2019-05-23'
97+
GROUP BY
98+
b.book_id
99+
HAVING
100+
ifnull( sum( IF ( o.dispatch_date < '2018-06-23', 0, quantity )), 0 )< 10
101+
ORDER BY
102+
b.book_id
105103
```
106104

107105
<!-- tabs:end -->

solution/1000-1099/1098.Unpopular Books/README_EN.md

+18-16
Original file line numberDiff line numberDiff line change
@@ -83,22 +83,24 @@ Orders table:
8383

8484
<!-- tabs:start -->
8585

86-
### **Python3**
87-
88-
```python
89-
90-
```
91-
92-
### **Java**
93-
94-
```java
95-
96-
```
97-
98-
### **...**
99-
100-
```
101-
86+
### **SQL**
87+
88+
```sql
89+
# Write your MySQL query statement below
90+
SELECT
91+
b.book_id,
92+
b.NAME
93+
FROM
94+
books b
95+
LEFT JOIN orders o ON b.book_id = o.book_id
96+
WHERE
97+
b.available_from < '2019-05-23'
98+
GROUP BY
99+
b.book_id
100+
HAVING
101+
ifnull( sum( IF ( o.dispatch_date < '2018-06-23', 0, quantity )), 0 )< 10
102+
ORDER BY
103+
b.book_id
102104
```
103105

104106
<!-- tabs:end -->
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Write your MySQL query statement below
2+
SELECT
3+
b.book_id,
4+
b.NAME
5+
FROM
6+
books b
7+
LEFT JOIN orders o ON b.book_id = o.book_id
8+
WHERE
9+
b.available_from < '2019-05-23'
10+
GROUP BY
11+
b.book_id
12+
HAVING
13+
ifnull( sum( IF ( o.dispatch_date < '2018-06-23', 0, quantity )), 0 )< 10
14+
ORDER BY
15+
b.book_id

0 commit comments

Comments
 (0)