Skip to content

Commit 968955b

Browse files
authored
Update Solution.ts
1 parent 34e2104 commit 968955b

File tree

1 file changed

+9
-17
lines changed
  • solution/2400-2499/2444.Count Subarrays With Fixed Bounds

1 file changed

+9
-17
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,11 @@
11
function countSubarrays(nums: number[], minK: number, maxK: number): number {
2-
let res = 0;
3-
let minIndex = -1;
4-
let maxIndex = -1;
5-
let k = -1;
6-
nums.forEach((num, i) => {
7-
if (num === minK) {
8-
minIndex = i;
9-
}
10-
if (num === maxK) {
11-
maxIndex = i;
12-
}
13-
if (num < minK || num > maxK) {
14-
k = i;
15-
}
16-
res += Math.max(Math.min(minIndex, maxIndex) - k, 0);
17-
});
18-
return res;
2+
let ans = 0;
3+
let [j1, j2, k] = [-1, -1, -1];
4+
for (let i = 0; i < nums.length; ++i) {
5+
if (nums[i] < minK || nums[i] > maxK) k = i;
6+
if (nums[i] === minK) j1 = i;
7+
if (nums[i] === maxK) j2 = i;
8+
ans += Math.max(0, Math.min(j1, j2) - k);
9+
}
10+
return ans;
1911
}

0 commit comments

Comments
 (0)