Binary Subarrays with Sum(Leetcode 930)
Problem Link: https://leetcode.com/problems/binary-subarrays-with-sum/
class Solution:
def numSubarraysWithSum(self, nums: List[int], goal: int) -> int:
def atmostSum(nums,k):
j=0
ans=0
c=0
n=len(nums)
for i in range(n):
if(nums[i]==1):
c+=1
while(j<=i and c>k):
if(nums[j]==1):
c-=1
j+=1
else:
j+=1
ans=ans+(i-j+1)
return ans
return atmostSum(nums,goal)-atmostSum(nums,goal-1)
Last updated