nums
and store it in total
.left
and right
, to 0
.current
to 0
, which will track the sum of the current subarray.max_length
to -1
, which will track the maximum length of the subarray that sums to total - x
.right
pointer over the array, adding nums[right]
to current
.current
is greater than total - x
, subtract nums[left]
from current
and increment left
.current
equals total - x
, update max_length
with the maximum of max_length
and right - left + 1
.max_length
is not -1
, return the length of nums
minus max_length
as the minimum number of operations; otherwise, return -1
.