一、题目

二、思路
2.1 解题思路
2.2 代码尝试
2.3 疑难问题
三、解法
class Solution {
public:int minOperations(vector<int>& nums, int x) {int n = nums.size();int sum = accumulate(nums.begin(), nums.end(), 0);if (sum < x) {return -1;}int right = 0;int lsum = 0, rsum = sum;int ans = n + 1;for (int left = -1; left < n; ++left) {if (left != -1) {lsum += nums[left];}while (right < n && lsum + rsum > x) {rsum -= nums[right];++right;}if (lsum + rsum == x) {ans = min(ans, (left + 1) + (n - right));}}return ans > n ? -1 : ans;}
};
四、收获
4.1 心得
4.2 举一反三