Skip to content

Commit 8a5548b

Browse files
authored
feat: add solutions to lc problem: No.1574 (#3765)
1 parent 931aaf5 commit 8a5548b

File tree

4 files changed

+110
-0
lines changed

4 files changed

+110
-0
lines changed

solution/1500-1599/1574.Shortest Subarray to be Removed to Make Array Sorted/README.md

+40
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,46 @@ func findLengthOfShortestSubarray(arr []int) int {
326326
}
327327
```
328328

329+
#### TypeScript
330+
331+
```ts
332+
function findLengthOfShortestSubarray(arr: number[]): number {
333+
let [l, r, n] = [0, arr.length - 1, arr.length];
334+
335+
while (r && arr[r - 1] <= arr[r]) r--;
336+
if (r === 0) return 0;
337+
338+
let ans = r;
339+
while (l < r && (!l || arr[l - 1] <= arr[l])) {
340+
while (r < n && arr[l] > arr[r]) r++;
341+
ans = Math.min(ans, r - l - 1);
342+
l++;
343+
}
344+
345+
return ans;
346+
}
347+
```
348+
349+
#### JavaScript
350+
351+
```js
352+
function findLengthOfShortestSubarray(arr) {
353+
let [l, r, n] = [0, arr.length - 1, arr.length];
354+
355+
while (r && arr[r - 1] <= arr[r]) r--;
356+
if (r === 0) return 0;
357+
358+
let ans = r;
359+
while (l < r && (!l || arr[l - 1] <= arr[l])) {
360+
while (r < n && arr[l] > arr[r]) r++;
361+
ans = Math.min(ans, r - l - 1);
362+
l++;
363+
}
364+
365+
return ans;
366+
}
367+
```
368+
329369
<!-- tabs:end -->
330370

331371
<!-- solution:end -->

solution/1500-1599/1574.Shortest Subarray to be Removed to Make Array Sorted/README_EN.md

+40
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,46 @@ func findLengthOfShortestSubarray(arr []int) int {
298298
}
299299
```
300300

301+
#### TypeScript
302+
303+
```ts
304+
function findLengthOfShortestSubarray(arr: number[]): number {
305+
let [l, r, n] = [0, arr.length - 1, arr.length];
306+
307+
while (r && arr[r - 1] <= arr[r]) r--;
308+
if (r === 0) return 0;
309+
310+
let ans = r;
311+
while (l < r && (!l || arr[l - 1] <= arr[l])) {
312+
while (r < n && arr[l] > arr[r]) r++;
313+
ans = Math.min(ans, r - l - 1);
314+
l++;
315+
}
316+
317+
return ans;
318+
}
319+
```
320+
321+
#### JavaScript
322+
323+
```js
324+
function findLengthOfShortestSubarray(arr) {
325+
let [l, r, n] = [0, arr.length - 1, arr.length];
326+
327+
while (r && arr[r - 1] <= arr[r]) r--;
328+
if (r === 0) return 0;
329+
330+
let ans = r;
331+
while (l < r && (!l || arr[l - 1] <= arr[l])) {
332+
while (r < n && arr[l] > arr[r]) r++;
333+
ans = Math.min(ans, r - l - 1);
334+
l++;
335+
}
336+
337+
return ans;
338+
}
339+
```
340+
301341
<!-- tabs:end -->
302342

303343
<!-- solution:end -->
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
function findLengthOfShortestSubarray(arr) {
2+
let [l, r, n] = [0, arr.length - 1, arr.length];
3+
4+
while (r && arr[r - 1] <= arr[r]) r--;
5+
if (r === 0) return 0;
6+
7+
let ans = r;
8+
while (l < r && (!l || arr[l - 1] <= arr[l])) {
9+
while (r < n && arr[l] > arr[r]) r++;
10+
ans = Math.min(ans, r - l - 1);
11+
l++;
12+
}
13+
14+
return ans;
15+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
function findLengthOfShortestSubarray(arr: number[]): number {
2+
let [l, r, n] = [0, arr.length - 1, arr.length];
3+
4+
while (r && arr[r - 1] <= arr[r]) r--;
5+
if (r === 0) return 0;
6+
7+
let ans = r;
8+
while (l < r && (!l || arr[l - 1] <= arr[l])) {
9+
while (r < n && arr[l] > arr[r]) r++;
10+
ans = Math.min(ans, r - l - 1);
11+
l++;
12+
}
13+
14+
return ans;
15+
}

0 commit comments

Comments
 (0)