Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit fadfb3e

Browse files
feat: add typescript solution to lc problem: No.2251
No.2251.Number of Flowers in Full Bloom
1 parent 014178e commit fadfb3e

File tree

3 files changed

+69
-2
lines changed

3 files changed

+69
-2
lines changed

‎solution/2200-2299/2251.Number of Flowers in Full Bloom/README.md‎

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@
4848

4949
<!-- 这里可写通用的实现逻辑 -->
5050

51+
离散差分+离散查询
52+
5153
<!-- tabs:start -->
5254

5355
### **Python3**
@@ -69,7 +71,29 @@
6971
### **TypeScript**
7072

7173
```ts
72-
74+
function fullBloomFlowers(flowers: number[][], persons: number[]): number[] {
75+
// 离散差分
76+
let hashMap = new Map();
77+
for (let [start, end] of flowers) {
78+
end++;
79+
hashMap.set(start, (hashMap.get(start) || 0) + 1);
80+
hashMap.set(end, (hashMap.get(end) || 0) - 1);
81+
}
82+
for (let p of persons) {
83+
if (!hashMap.has(p)) {
84+
hashMap.set(p, 0);
85+
}
86+
}
87+
let keys = Array.from(hashMap.keys()).sort((a, b) => a - b);
88+
let pre = 0;
89+
for (let k of keys) {
90+
pre += hashMap.get(k);
91+
hashMap.set(k, pre);
92+
}
93+
// 离散查询
94+
let ans = persons.map(v => hashMap.get(v));
95+
return ans;
96+
};
7397
```
7498

7599
### **...**

‎solution/2200-2299/2251.Number of Flowers in Full Bloom/README_EN.md‎

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,27 @@ For each person, we return the number of flowers in full bloom during their arri
5858
### **TypeScript**
5959

6060
```ts
61-
61+
function fullBloomFlowers(flowers: number[][], persons: number[]): number[] {
62+
let hashMap = new Map();
63+
for (let [start, end] of flowers) {
64+
end++;
65+
hashMap.set(start, (hashMap.get(start) || 0) + 1);
66+
hashMap.set(end, (hashMap.get(end) || 0) - 1);
67+
}
68+
for (let p of persons) {
69+
if (!hashMap.has(p)) {
70+
hashMap.set(p, 0);
71+
}
72+
}
73+
let keys = Array.from(hashMap.keys()).sort((a, b) => a - b);
74+
let pre = 0;
75+
for (let k of keys) {
76+
pre += hashMap.get(k);
77+
hashMap.set(k, pre);
78+
}
79+
let ans = persons.map(v => hashMap.get(v));
80+
return ans;
81+
};
6282
```
6383

6484
### **...**
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
function fullBloomFlowers(flowers: number[][], persons: number[]): number[] {
2+
// 离散差分
3+
let hashMap = new Map();
4+
for (let [start, end] of flowers) {
5+
end++;
6+
hashMap.set(start, (hashMap.get(start) || 0) + 1);
7+
hashMap.set(end, (hashMap.get(end) || 0) - 1);
8+
}
9+
for (let p of persons) {
10+
if (!hashMap.has(p)) {
11+
hashMap.set(p, 0);
12+
}
13+
}
14+
let keys = Array.from(hashMap.keys()).sort((a, b) => a - b);
15+
let pre = 0;
16+
for (let k of keys) {
17+
pre += hashMap.get(k);
18+
hashMap.set(k, pre);
19+
}
20+
// 离散查询
21+
let ans = persons.map(v => hashMap.get(v));
22+
return ans;
23+
};

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /