File tree 4 files changed +137
-0
lines changed
solution/0200-0299/0209.Minimum Size Subarray Sum
4 files changed +137
-0
lines changed Original file line number Diff line number Diff line change @@ -273,6 +273,55 @@ public class Solution {
273
273
}
274
274
```
275
275
276
+ ### ** TypeScript**
277
+
278
+ ``` ts
279
+ function minSubArrayLen(target : number , nums : number []): number {
280
+ const n = nums .length ;
281
+ let res = Infinity ;
282
+ let sum = 0 ;
283
+ let i = 0 ;
284
+ let j = 0 ;
285
+ while (j <= n ) {
286
+ if (sum < target ) {
287
+ sum += nums [j ];
288
+ j ++ ;
289
+ } else {
290
+ res = Math .min (res , j - i );
291
+ sum -= nums [i ];
292
+ i ++ ;
293
+ }
294
+ }
295
+ return res === Infinity ? 0 : res ;
296
+ }
297
+ ```
298
+
299
+ ### ** Rust**
300
+
301
+ ``` rust
302
+ impl Solution {
303
+ pub fn min_sub_array_len (target : i32 , nums : Vec <i32 >) -> i32 {
304
+ let n = nums . len ();
305
+ let mut res = n + 1 ;
306
+ let mut sum = 0 ;
307
+ let mut l = 0 ;
308
+ for r in 0 .. n {
309
+ sum += nums [r ];
310
+
311
+ while sum >= target {
312
+ res = res . min (r - l + 1 );
313
+ sum -= nums [l ];
314
+ l += 1 ;
315
+ }
316
+ }
317
+ if res == n + 1 {
318
+ return 0 ;
319
+ }
320
+ res as i32
321
+ }
322
+ }
323
+ ```
324
+
276
325
### ** ...**
277
326
278
327
```
Original file line number Diff line number Diff line change @@ -248,6 +248,55 @@ public class Solution {
248
248
}
249
249
```
250
250
251
+ ### ** TypeScript**
252
+
253
+ ``` ts
254
+ function minSubArrayLen(target : number , nums : number []): number {
255
+ const n = nums .length ;
256
+ let res = Infinity ;
257
+ let sum = 0 ;
258
+ let i = 0 ;
259
+ let j = 0 ;
260
+ while (j <= n ) {
261
+ if (sum < target ) {
262
+ sum += nums [j ];
263
+ j ++ ;
264
+ } else {
265
+ res = Math .min (res , j - i );
266
+ sum -= nums [i ];
267
+ i ++ ;
268
+ }
269
+ }
270
+ return res === Infinity ? 0 : res ;
271
+ }
272
+ ```
273
+
274
+ ### ** Rust**
275
+
276
+ ``` rust
277
+ impl Solution {
278
+ pub fn min_sub_array_len (target : i32 , nums : Vec <i32 >) -> i32 {
279
+ let n = nums . len ();
280
+ let mut res = n + 1 ;
281
+ let mut sum = 0 ;
282
+ let mut l = 0 ;
283
+ for r in 0 .. n {
284
+ sum += nums [r ];
285
+
286
+ while sum >= target {
287
+ res = res . min (r - l + 1 );
288
+ sum -= nums [l ];
289
+ l += 1 ;
290
+ }
291
+ }
292
+ if res == n + 1 {
293
+ return 0 ;
294
+ }
295
+ res as i32
296
+ }
297
+ }
298
+ ```
299
+
251
300
### ** ...**
252
301
253
302
```
Original file line number Diff line number Diff line change
1
+ impl Solution {
2
+ pub fn min_sub_array_len ( target : i32 , nums : Vec < i32 > ) -> i32 {
3
+ let n = nums. len ( ) ;
4
+ let mut res = n + 1 ;
5
+ let mut sum = 0 ;
6
+ let mut l = 0 ;
7
+ for r in 0 ..n {
8
+ sum += nums[ r] ;
9
+
10
+ while sum >= target {
11
+ res = res. min ( r - l + 1 ) ;
12
+ sum -= nums[ l] ;
13
+ l += 1 ;
14
+ }
15
+ }
16
+ if res == n + 1 {
17
+ return 0 ;
18
+ }
19
+ res as i32
20
+ }
21
+ }
Original file line number Diff line number Diff line change
1
+ function minSubArrayLen ( target : number , nums : number [ ] ) : number {
2
+ const n = nums . length ;
3
+ let res = Infinity ;
4
+ let sum = 0 ;
5
+ let i = 0 ;
6
+ let j = 0 ;
7
+ while ( j <= n ) {
8
+ if ( sum < target ) {
9
+ sum += nums [ j ] ;
10
+ j ++ ;
11
+ } else {
12
+ res = Math . min ( res , j - i ) ;
13
+ sum -= nums [ i ] ;
14
+ i ++ ;
15
+ }
16
+ }
17
+ return res === Infinity ? 0 : res ;
18
+ }
You can’t perform that action at this time.
0 commit comments