File tree 3 files changed +123
-0
lines changed
solution/1600-1699/1653.Minimum Deletions to Make String Balanced
3 files changed +123
-0
lines changed Original file line number Diff line number Diff line change @@ -306,6 +306,61 @@ func minimumDeletions(s string) int {
306
306
}
307
307
```
308
308
309
+ ### ** TypeScript**
310
+
311
+ ``` ts
312
+ function minimumDeletions(s : string ): number {
313
+ const n = s .length ;
314
+ const f = new Array (n + 1 ).fill (0 );
315
+ let b = 0 ;
316
+ for (let i = 1 ; i <= n ; ++ i ) {
317
+ if (s .charAt (i - 1 ) === ' b' ) {
318
+ f [i ] = f [i - 1 ];
319
+ ++ b ;
320
+ } else {
321
+ f [i ] = Math .min (f [i - 1 ] + 1 , b );
322
+ }
323
+ }
324
+ return f [n ];
325
+ }
326
+ ```
327
+
328
+ ``` ts
329
+ function minimumDeletions(s : string ): number {
330
+ const n = s .length ;
331
+ let ans = 0 ,
332
+ b = 0 ;
333
+ for (let i = 0 ; i < n ; ++ i ) {
334
+ if (s .charAt (i ) === ' b' ) {
335
+ ++ b ;
336
+ } else {
337
+ ans = Math .min (ans + 1 , b );
338
+ }
339
+ }
340
+ return ans ;
341
+ }
342
+ ```
343
+
344
+ ``` ts
345
+ function minimumDeletions(s : string ): number {
346
+ let lb = 0 ,
347
+ ra = 0 ;
348
+ const n = s .length ;
349
+ for (let i = 0 ; i < n ; ++ i ) {
350
+ if (s .charAt (i ) === ' a' ) {
351
+ ++ ra ;
352
+ }
353
+ }
354
+ let ans = n ;
355
+ for (let i = 0 ; i < n ; ++ i ) {
356
+ ra -= s .charAt (i ) === ' a' ? 1 : 0 ;
357
+ ans = Math .min (ans , lb + ra );
358
+ lb += s .charAt (i ) === ' b' ? 1 : 0 ;
359
+ }
360
+ return ans ;
361
+ }
362
+ ```
363
+
309
364
### ** ...**
310
365
311
366
```
Original file line number Diff line number Diff line change @@ -266,6 +266,61 @@ func minimumDeletions(s string) int {
266
266
}
267
267
```
268
268
269
+ ### ** TypeScript**
270
+
271
+ ``` ts
272
+ function minimumDeletions(s : string ): number {
273
+ const n = s .length ;
274
+ const f = new Array (n + 1 ).fill (0 );
275
+ let b = 0 ;
276
+ for (let i = 1 ; i <= n ; ++ i ) {
277
+ if (s .charAt (i - 1 ) === ' b' ) {
278
+ f [i ] = f [i - 1 ];
279
+ ++ b ;
280
+ } else {
281
+ f [i ] = Math .min (f [i - 1 ] + 1 , b );
282
+ }
283
+ }
284
+ return f [n ];
285
+ }
286
+ ```
287
+
288
+ ``` ts
289
+ function minimumDeletions(s : string ): number {
290
+ const n = s .length ;
291
+ let ans = 0 ,
292
+ b = 0 ;
293
+ for (let i = 0 ; i < n ; ++ i ) {
294
+ if (s .charAt (i ) === ' b' ) {
295
+ ++ b ;
296
+ } else {
297
+ ans = Math .min (ans + 1 , b );
298
+ }
299
+ }
300
+ return ans ;
301
+ }
302
+ ```
303
+
304
+ ``` ts
305
+ function minimumDeletions(s : string ): number {
306
+ let lb = 0 ,
307
+ ra = 0 ;
308
+ const n = s .length ;
309
+ for (let i = 0 ; i < n ; ++ i ) {
310
+ if (s .charAt (i ) === ' a' ) {
311
+ ++ ra ;
312
+ }
313
+ }
314
+ let ans = n ;
315
+ for (let i = 0 ; i < n ; ++ i ) {
316
+ ra -= s .charAt (i ) === ' a' ? 1 : 0 ;
317
+ ans = Math .min (ans , lb + ra );
318
+ lb += s .charAt (i ) === ' b' ? 1 : 0 ;
319
+ }
320
+ return ans ;
321
+ }
322
+ ```
323
+
269
324
### ** ...**
270
325
271
326
```
Original file line number Diff line number Diff line change
1
+ function minimumDeletions ( s : string ) : number {
2
+ const n = s . length ;
3
+ let ans = 0 ,
4
+ b = 0 ;
5
+ for ( let i = 0 ; i < n ; ++ i ) {
6
+ if ( s . charAt ( i ) === 'b' ) {
7
+ ++ b ;
8
+ } else {
9
+ ans = Math . min ( ans + 1 , b ) ;
10
+ }
11
+ }
12
+ return ans ;
13
+ }
You can’t perform that action at this time.
0 commit comments