leetcode

Solution 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(); 6 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 } 14 15 return res != 0 ? nums.size() - res : -1; 16 } 17 };