目录
- 一、题目解析
- 二、算法思路
- 三、代码实现
一、题目解析
二、算法思路
三、代码实现
class Solution {
public:int minOperations(vector<int>& nums, int x) {int n=nums.size();//求出整个数组的值int sum1=0;for(int i=0;i<n;i++){sum1+=nums[i];}//求sum1-x的子数组int target=sum1-x,sum2=0,ret=n+1;if(target<0){return -1;}for(int left=0,right=0;right<n;right++){sum2+=nums[right];while(sum2>target){sum2-=nums[left];left++;}if(sum2==target){//更新结果ret=min(ret,(left-0+n-right-1));}}return ret==n+1?-1:ret;}
};