Skip to content

Commit

Permalink
committed
Browse files Browse the repository at this point in the history
  • Loading branch information
rishabhpreethan committed Mar 21, 2023
1 parent b02010d commit d5c0568
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 0 deletions.
Binary file modified .DS_Store
Binary file not shown.
48 changes: 48 additions & 0 deletions arrays/number_of_zero-filled_subarrays.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#MEDIUM
# 2348

''' https://leetcode.com/problems/number-of-zero-filled-subarrays/ '''

# Given an integer array nums, return the number of subarrays filled with 0.
# A subarray is a contiguous non-empty sequence of elements within an array.


# Example 1:
# Input: nums = [1,3,0,0,2,0,0,4]
# Output: 6
# -------------------------------------------------------------------
# Explanation:
# There are 4 occurrences of [0] as a subarray.
# There are 2 occurrences of [0,0] as a subarray.
# There is no occurrence of a subarray with a size more than 2 filled with 0. Therefore, we return 6.

# Example 2:
# Input: nums = [0,0,0,2,0,0]
# Output: 9
# -------------------------------------------------------------------
# Explanation:
# There are 5 occurrences of [0] as a subarray.
# There are 3 occurrences of [0,0] as a subarray.
# There is 1 occurrence of [0,0,0] as a subarray.
# There is no occurrence of a subarray with a size more than 3 filled with 0. Therefore, we return 9.

# Example 3:
# Input: nums = [2,10,2019]
# Output: 0
# -------------------------------------------------------------------
# Explanation: There is no subarray filled with 0. Therefore, we return 0.


def zeroFilledSubarray(nums):
c,l=0,0
nums=nums+[-1]
for num in nums:
if num==0:
c+=1
elif c>0:
l+=(c+1)*c//2
c=0
return l


print(zeroFilledSubarray([1,3,0,0,2,0,0,4]))
48 changes: 48 additions & 0 deletions leetcode_daily/number_of_zero-filled_subarrays.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#MEDIUM
# 2348

''' https://leetcode.com/problems/number-of-zero-filled-subarrays/ '''

# Given an integer array nums, return the number of subarrays filled with 0.
# A subarray is a contiguous non-empty sequence of elements within an array.


# Example 1:
# Input: nums = [1,3,0,0,2,0,0,4]
# Output: 6
# -------------------------------------------------------------------
# Explanation:
# There are 4 occurrences of [0] as a subarray.
# There are 2 occurrences of [0,0] as a subarray.
# There is no occurrence of a subarray with a size more than 2 filled with 0. Therefore, we return 6.

# Example 2:
# Input: nums = [0,0,0,2,0,0]
# Output: 9
# -------------------------------------------------------------------
# Explanation:
# There are 5 occurrences of [0] as a subarray.
# There are 3 occurrences of [0,0] as a subarray.
# There is 1 occurrence of [0,0,0] as a subarray.
# There is no occurrence of a subarray with a size more than 3 filled with 0. Therefore, we return 9.

# Example 3:
# Input: nums = [2,10,2019]
# Output: 0
# -------------------------------------------------------------------
# Explanation: There is no subarray filled with 0. Therefore, we return 0.


def zeroFilledSubarray(nums):
c,l=0,0
nums=nums+[-1]
for num in nums:
if num==0:
c+=1
elif c>0:
l+=(c+1)*c//2
c=0
return l


print(zeroFilledSubarray([1,3,0,0,2,0,0,4]))

0 comments on commit d5c0568

Please sign in to comment.