leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
1658.cpp (553B)
0 class Solution {
1 public:
2 int minOperations(const vector<int> &nums, int x) {
3 const int goal = accumulate(begin(nums), end(nums), 0) - x;
4 if (goal < 0) return -1;
5 if (goal == 0) return nums.size();
7 int sum = 0, start = 0, end = 0, res = 0;
8 for (int i = 0; i < nums.size(); i++) {
9 sum += nums[i];
10 while (sum > goal)
11 sum -= nums[start++];
12 if (sum == goal) res = max(res, i - start + 1);
13 }
15 return res != 0 ? nums.size() - res : -1;
16 }
17 };