We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent a512dae commit badd49cCopy full SHA for badd49c
2762-continuous-subarrays.js
@@ -1,3 +1,34 @@
1
+/**
2
+ * @param {number[]} nums
3
+ * @return {number}
4
+ */
5
+const continuousSubarrays = function(nums) {
6
+ let res = 0
7
+ let l = 0
8
+ let r = 0
9
+ const mq1 = [], mq2 = []
10
+ for(let r = 0; r < nums.length; r++) {
11
+ const e = nums[r]
12
+ while(mq1.length && nums[mq1.at(-1)] < e) mq1.pop()
13
+ mq1.push(r)
14
+ while(mq2.length && nums[mq2.at(-1)] > e) mq2.pop()
15
+ mq2.push(r)
16
+
17
+ while(mq1.length && mq2.length && Math.abs(nums[mq1[0]] - nums[mq2[0]]) > 2) {
18
+ if(mq1.length && mq1[0] <= l) mq1.shift()
19
+ if(mq2.length && mq2[0] <= l) mq2.shift()
20
+ l++
21
+ }
22
23
+ res += r - l + 1
24
25
+ return res
26
+};
27
28
29
+// another
30
31
32
/**
33
* @param {number[]} nums
34
* @return {number}
0 commit comments