代码拉取完成,页面将自动刷新
# class Solution:
# def minKBitFlips(self, A: List[int], K: int) -> int:
# left=0
# count=0
# while left<=len(A)-K:
# if A[left]==0:
# for i in range(left,left+K):
# A[i]=not A[i]
# count+=1
# left+=1
# while left<len(A):
# if A[left]==0:
# return -1
# left+=1
# return count
'''
超时
'''
# class Solution:
# def minKBitFlips(self, A: List[int], K: int) -> int:
# number=sum([2**index for index,i in enumerate(A) if i])
# tester=sum([2**i for i in range(K)])
# go=1
# big=2**len(A)
# end=2**(len(A)-K+1)
# count=0
# while go<end:
# if not number&go:
# number=number ^ tester
# count+=1
# go<<=1
# tester<<=1
# if number!=big-1:
# return -1
# return count
'''
超时
'''
class Solution:
def minKBitFlips(self, A: List[int], K: int) -> int:
diff=[0]*(len(A)+1)
ans=0
c=0
for i in range(len(A)):
c+=diff[i]
if (A[i]+c)%2==0:
if i+K>len(A):
return -1
ans+=1
c+=1
diff[i+K]-=1
return ans
'''
执行用时:
880 ms
, 在所有 Python3 提交中击败了
68.57%
的用户
内存消耗:
15.6 MB
, 在所有 Python3 提交中击败了
63.81%
的用户
'''
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。