1
+ /**
2
+ * @param {number[] } nums
3
+ * @param {number[][] } queries
4
+ * @return {number }
5
+ */
6
+ var minZeroArray = function ( nums , queries ) {
7
+
8
+ } ;
9
+
10
+
11
+ const example1 = minZeroArray ( [ 2 , 0 , 2 ] , [ [ 0 , 2 , 1 ] , [ 0 , 2 , 1 ] , [ 1 , 1 , 3 ] ] ) ; // 2
12
+ const example2 = minZeroArray ( [ 4 , 3 , 2 , 1 ] , [ [ 1 , 3 , 2 ] , [ 0 , 2 , 1 ] ] ) ; // -1
13
+
14
+ console . log ( example1 ) ;
15
+ console . log ( example2 ) ;
16
+
17
+ // var minZeroArray = function(nums, queries) {
18
+ // const n = nums.length;
19
+ // let left = 0;
20
+ // let right = queries.length;
21
+ // let result = -1;
22
+
23
+ // const canZeroArray = function(nums, queries, k) {
24
+ // const n = nums.length;
25
+ // const diff = new Array(n + 1).fill(0);
26
+
27
+ // for (let i = 0; i < k; i++) {
28
+ // let [l, r, val] = queries[i];
29
+ // diff[l] -= val;
30
+ // if (r + 1 < n) {
31
+ // diff[r + 1] += val;
32
+ // }
33
+ // }
34
+
35
+ // let currentDecrement = 0;
36
+ // for (let i = 0; i < n; i++) {
37
+ // currentDecrement += diff[i];
38
+ // if (nums[i] + currentDecrement > 0) {
39
+ // return false;
40
+ // }
41
+ // }
42
+ // return true;
43
+ // }
44
+
45
+ // while (left <= right) {
46
+ // const mid = Math.trunc((left + right) / 2);
47
+
48
+ // if (canZeroArray(nums.slice(), queries, mid)) {
49
+ // result = mid;
50
+ // right = mid - 1;
51
+ // }
52
+ // else { left = mid + 1; }
53
+ // }
54
+ // return result;
55
+ // };
0 commit comments