leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
0995.cpp (482B)
0 class Solution { 1 public: 2 int minKBitFlips(vector<int> &nums, int k) const { 3 const int n = size(nums); 4 int res = 0, flips = 0; 5 6 for (int i = 0; i < n; i++) { 7 if (nums[i] == flips % 2) { 8 if (i > n - k) return -1; 9 nums[i] -= 2, res++, flips++; 10 } 11 12 const int prev = i - k + 1; 13 if (i >= k - 1 && nums[prev] < 0) nums[prev] += 2, flips--; 14 } 15 16 return res; 17 } 18 };