File tree 3 files changed +76
-0
lines changed
solution/0700-0799/0735.Asteroid Collision
3 files changed +76
-0
lines changed Original file line number Diff line number Diff line change @@ -210,6 +210,33 @@ func asteroidCollision(asteroids []int) []int {
210
210
}
211
211
```
212
212
213
+ ### TypeScript
214
+
215
+ ``` ts
216
+ function asteroidCollision(asteroids : number []): number [] {
217
+ const ans: number [] = [];
218
+ for (const a of asteroids ) {
219
+ if (a > 0 ) {
220
+ ans .push (a );
221
+ } else {
222
+ while (
223
+ ans .length &&
224
+ 0 < ans [ans .length - 1 ] &&
225
+ ans [ans .length - 1 ] < - a
226
+ ) {
227
+ ans .pop ();
228
+ }
229
+ if (ans .length && ans [ans .length - 1 ] === - a ) {
230
+ ans .pop ();
231
+ } else if (! ans .length || ans [ans .length - 1 ] < - a ) {
232
+ ans .push (a );
233
+ }
234
+ }
235
+ }
236
+ return ans ;
237
+ }
238
+ ```
239
+
213
240
### ** ...**
214
241
215
242
```
Original file line number Diff line number Diff line change @@ -201,6 +201,33 @@ func asteroidCollision(asteroids []int) []int {
201
201
}
202
202
```
203
203
204
+ ### TypeScript
205
+
206
+ ``` ts
207
+ function asteroidCollision(asteroids : number []): number [] {
208
+ const ans: number [] = [];
209
+ for (const a of asteroids ) {
210
+ if (a > 0 ) {
211
+ ans .push (a );
212
+ } else {
213
+ while (
214
+ ans .length &&
215
+ 0 < ans [ans .length - 1 ] &&
216
+ ans [ans .length - 1 ] < - a
217
+ ) {
218
+ ans .pop ();
219
+ }
220
+ if (ans .length && ans [ans .length - 1 ] === - a ) {
221
+ ans .pop ();
222
+ } else if (! ans .length || ans [ans .length - 1 ] < - a ) {
223
+ ans .push (a );
224
+ }
225
+ }
226
+ }
227
+ return ans ;
228
+ }
229
+ ```
230
+
204
231
### ** ...**
205
232
206
233
```
Original file line number Diff line number Diff line change
1
+ function asteroidCollision ( asteroids : number [ ] ) : number [ ] {
2
+ const ans : number [ ] = [ ] ;
3
+ for ( const a of asteroids ) {
4
+ if ( a > 0 ) {
5
+ ans . push ( a ) ;
6
+ } else {
7
+ while (
8
+ ans . length &&
9
+ 0 < ans [ ans . length - 1 ] &&
10
+ ans [ ans . length - 1 ] < - a
11
+ ) {
12
+ ans . pop ( ) ;
13
+ }
14
+ if ( ans . length && ans [ ans . length - 1 ] === - a ) {
15
+ ans . pop ( ) ;
16
+ } else if ( ! ans . length || ans [ ans . length - 1 ] < - a ) {
17
+ ans . push ( a ) ;
18
+ }
19
+ }
20
+ }
21
+ return ans ;
22
+ }
You can’t perform that action at this time.
0 commit comments