Minimum Number of K Consecutive Bit Flips LeetCode solution in Python
1# Runtime: 2365 ms (Top 19.91%) | Memory: 17.1 MB (Top 67.10%)2class Solution:3def minKBitFlips(self, nums: List[int], k: int) -> int:4flips = [0] * len(nums)5csum = 067for left in range(0, len(nums) - k + 1):8if (nums[left] + csum) % 2 == 0:9flips[left] += 110csum += 111if left >= k - 1:12csum -= flips[left - k + 1]1314for check in range(len(nums) - k + 1, len(nums)):15if (nums[check] + csum) % 2 == 0:16return -117if check >= k - 1:18csum -= flips[check - k + 1]1920return sum(flips)