File tree 3 files changed +106
-0
lines changed
solution/0700-0799/0731.My Calendar II
3 files changed +106
-0
lines changed Original file line number Diff line number Diff line change @@ -208,6 +208,43 @@ func (this *MyCalendarTwo) Book(start int, end int) bool {
208
208
*/
209
209
```
210
210
211
+ #### TypeScript
212
+
213
+ ``` ts
214
+ class MyCalendarTwo {
215
+ private events: [number , number ][];
216
+ private overlaps: [number , number ][];
217
+
218
+ constructor () {
219
+ this .events = [];
220
+ this .overlaps = [];
221
+ }
222
+
223
+ book(start : number , end : number ): boolean {
224
+ for (const [s, e] of this .overlaps ) {
225
+ if (Math .max (start , s ) < Math .min (end , e )) {
226
+ return false ;
227
+ }
228
+ }
229
+
230
+ for (const [s, e] of this .events ) {
231
+ if (Math .max (start , s ) < Math .min (end , e )) {
232
+ this .overlaps .push ([Math .max (start , s ), Math .min (end , e )]);
233
+ }
234
+ }
235
+
236
+ this .events .push ([start , end ]);
237
+ return true ;
238
+ }
239
+ }
240
+
241
+ /**
242
+ * Your MyCalendarTwo object will be instantiated and called as such:
243
+ * var obj = new MyCalendarTwo()
244
+ * var param_1 = obj.book(start,end)
245
+ */
246
+ ```
247
+
211
248
#### JavaScript
212
249
213
250
``` js
Original file line number Diff line number Diff line change @@ -206,6 +206,43 @@ func (this *MyCalendarTwo) Book(start int, end int) bool {
206
206
*/
207
207
```
208
208
209
+ #### TypeScript
210
+
211
+ ``` ts
212
+ class MyCalendarTwo {
213
+ private events: [number , number ][];
214
+ private overlaps: [number , number ][];
215
+
216
+ constructor () {
217
+ this .events = [];
218
+ this .overlaps = [];
219
+ }
220
+
221
+ book(start : number , end : number ): boolean {
222
+ for (const [s, e] of this .overlaps ) {
223
+ if (Math .max (start , s ) < Math .min (end , e )) {
224
+ return false ;
225
+ }
226
+ }
227
+
228
+ for (const [s, e] of this .events ) {
229
+ if (Math .max (start , s ) < Math .min (end , e )) {
230
+ this .overlaps .push ([Math .max (start , s ), Math .min (end , e )]);
231
+ }
232
+ }
233
+
234
+ this .events .push ([start , end ]);
235
+ return true ;
236
+ }
237
+ }
238
+
239
+ /**
240
+ * Your MyCalendarTwo object will be instantiated and called as such:
241
+ * var obj = new MyCalendarTwo()
242
+ * var param_1 = obj.book(start,end)
243
+ */
244
+ ```
245
+
209
246
#### JavaScript
210
247
211
248
``` js
Original file line number Diff line number Diff line change
1
+ class MyCalendarTwo {
2
+ private events : [ number , number ] [ ] ;
3
+ private overlaps : [ number , number ] [ ] ;
4
+
5
+ constructor ( ) {
6
+ this . events = [ ] ;
7
+ this . overlaps = [ ] ;
8
+ }
9
+
10
+ book ( start : number , end : number ) : boolean {
11
+ for ( const [ s , e ] of this . overlaps ) {
12
+ if ( Math . max ( start , s ) < Math . min ( end , e ) ) {
13
+ return false ;
14
+ }
15
+ }
16
+
17
+ for ( const [ s , e ] of this . events ) {
18
+ if ( Math . max ( start , s ) < Math . min ( end , e ) ) {
19
+ this . overlaps . push ( [ Math . max ( start , s ) , Math . min ( end , e ) ] ) ;
20
+ }
21
+ }
22
+
23
+ this . events . push ( [ start , end ] ) ;
24
+ return true ;
25
+ }
26
+ }
27
+
28
+ /**
29
+ * Your MyCalendarTwo object will be instantiated and called as such:
30
+ * var obj = new MyCalendarTwo()
31
+ * var param_1 = obj.book(start,end)
32
+ */
You can’t perform that action at this time.
0 commit comments