You are given an integer array `nums`

and an integer `x`

. In one operation, you can either remove the leftmost or the rightmost element from the array `nums`

and subtract its value from `x`

. Note that this **modifies** the array for future operations.

Return *the minimum number of operations to reduce *

`x`

`0`

`-1`

.

**Example 1:**

Input:nums = [1,1,4,2,3], x = 5Output:2Explanation:The optimal solution is to remove the last two elements to reduce x to zero.

**Example 2:**

Input:nums = [5,6,7,8,9], x = 4Output:-1

**Example 3:**

Input:nums = [3,2,20,1,1,3], x = 10Output:5Explanation:The optimal solution is to remove the last three elements and the first two elements (5 operations in total) to reduce x to zero.

**Constraints:**

`1 <= nums.length <= 10`

^{5}`1 <= nums[i] <= 10`

^{4}`1 <= x <= 10`

^{9}

class Solution {
public int minOperations(int[] nums, int x) {
}
}