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 f5d3f05

Browse files
feat: add ts solution to lc problem: No.2147 (#2028)
1 parent 9258236 commit f5d3f05

File tree

3 files changed

+64
-0
lines changed

3 files changed

+64
-0
lines changed

‎solution/2100-2199/2147.Number of Ways to Divide a Long Corridor/README.md‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,28 @@ func numberOfWays(corridor string) int {
218218
### **TypeScript**
219219

220220
```ts
221+
function numberOfWays(corridor: string): number {
222+
const M: number = 1e9 + 7;
223+
const seatNumbers: number[] = [];
221224

225+
for (let i = 0; i < corridor.length; i++) {
226+
if (corridor.charAt(i) === 'S') {
227+
seatNumbers.push(i);
228+
}
229+
}
230+
231+
if (seatNumbers.length % 2 !== 0 || seatNumbers.length === 0) {
232+
return 0;
233+
}
234+
235+
let result: number = 1;
236+
237+
for (let i = 2; i < seatNumbers.length; i += 2) {
238+
result = (result * (seatNumbers[i] - seatNumbers[i - 1])) % M;
239+
}
240+
241+
return result;
242+
}
222243
```
223244

224245
### **...**

‎solution/2100-2199/2147.Number of Ways to Divide a Long Corridor/README_EN.md‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,28 @@ func numberOfWays(corridor string) int {
193193
### **TypeScript**
194194

195195
```ts
196+
function numberOfWays(corridor: string): number {
197+
const M: number = 1e9 + 7;
198+
const seatNumbers: number[] = [];
196199

200+
for (let i = 0; i < corridor.length; i++) {
201+
if (corridor.charAt(i) === 'S') {
202+
seatNumbers.push(i);
203+
}
204+
}
205+
206+
if (seatNumbers.length % 2 !== 0 || seatNumbers.length === 0) {
207+
return 0;
208+
}
209+
210+
let result: number = 1;
211+
212+
for (let i = 2; i < seatNumbers.length; i += 2) {
213+
result = (result * (seatNumbers[i] - seatNumbers[i - 1])) % M;
214+
}
215+
216+
return result;
217+
}
197218
```
198219

199220
### **...**
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
function numberOfWays(corridor: string): number {
2+
const M: number = 1e9 + 7;
3+
const seatNumbers: number[] = [];
4+
5+
for (let i = 0; i < corridor.length; i++) {
6+
if (corridor.charAt(i) === 'S') {
7+
seatNumbers.push(i);
8+
}
9+
}
10+
11+
if (seatNumbers.length % 2 !== 0 || seatNumbers.length === 0) {
12+
return 0;
13+
}
14+
15+
let result: number = 1;
16+
17+
for (let i = 2; i < seatNumbers.length; i += 2) {
18+
result = (result * (seatNumbers[i] - seatNumbers[i - 1])) % M;
19+
}
20+
21+
return result;
22+
}

0 commit comments

Comments
(0)

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