Skip to content

Commit 01a6c84

Browse files
authored
Added Minimum Operations to Reduce X to Zero.java
1 parent 0dafdff commit 01a6c84

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
class Solution {
2+
public int minOperations(int[] nums, int x) {
3+
int n = nums.length;
4+
int leftIdx = 0;
5+
int sum = 0;
6+
int ans = -1;
7+
for (; leftIdx < n && sum < x; leftIdx++) {
8+
sum += nums[leftIdx];
9+
}
10+
if (sum == x) {
11+
ans = leftIdx;
12+
}
13+
leftIdx--;
14+
int rightIdx = n - 1;
15+
for (; leftIdx >= 0; leftIdx--) {
16+
sum -= nums[leftIdx];
17+
while (rightIdx > leftIdx && sum < x) {
18+
sum += nums[rightIdx--];
19+
}
20+
if (sum == x) {
21+
ans = ans == -1 ? (leftIdx + n - rightIdx - 1) : Math.min(ans, (leftIdx + n - rightIdx - 1));
22+
}
23+
}
24+
return ans;
25+
}
26+
}

0 commit comments

Comments
 (0)