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