Above is the link to the problem.
Problem
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.
Analysis
If there exist consecutive 0
like 0, 0, 0
there are 3 possible ways [0, 0, 0] and [0, 0] and [0]
and each way has 1([0, 0, 0]) + 2([0, 0]) + 3([0]) cases.
Code
This code has O(n) time complexity.
'Code > LeetCode' 카테고리의 다른 글
[LeetCode] 983. Minimum Cost For Tickets (Medium/Python) (0) | 2023.03.29 |
---|---|
[LeetCode] 64. Minimum Path Sum (Medium/Python) (0) | 2023.03.27 |
[LeetCode] 605. Can Place Flowers (Easy/Python) (0) | 2023.03.20 |
[LeetCode] 2187. Minimum Time to Complete Trips (Medium/Python) (0) | 2023.03.08 |
[LeetCode] 202. Happy Number (Easy/Python) (0) | 2023.03.05 |