Minimum Operations to Reduce X to Zero LeetCode solution in Rust
1use std::cmp::max;23impl Solution {4pub fn min_operations(nums: Vec<i32>, x: i32) -> i32 {5let sum: i32 = nums.iter().sum();6let mut l = 0;7let mut csum = 0;8let mut maxlen: i32 = -1;9for r in 0..nums.len() {10csum += nums[r];11while l <= r && csum > sum - x {12csum -= nums[l];13l += 1;14}15if csum == sum - x {16maxlen = max(maxlen, (r - l + 1) as i32);17}18}19if maxlen == -1 {20-121} else {22nums.len() as i32 - maxlen23}24}25}