欢迎光临散文网 会员登陆 & 注册

Leetcode 2348. Number of Zero-Filled Subarrays

2023-03-21 16:29 作者:您是打尖儿还是住店呢  | 我要投稿

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.

 

Constraints:

  • 1 <= nums.length <= 105

  • -109 <= nums[i] <= 109

最终祭出了数学公式,,,当有连续n个0的时候,判断有多少个组合,就是n*(n+1)/2,然后累加,

因为最后一个可能算不到,因为最后一位可能还是0,所以结束for循环的时候,还要加一下判断。确认此时cnt是否为0,不为0,还要加cnt*(cnt+1)/2;

最后返回结果即可。



Runtime: 6 ms, faster than 34.17% of Java online submissions for Number of Zero-Filled Subarrays.

Memory Usage: 60.2 MB, less than 20.69% of Java online submissions for Number of Zero-Filled Subarrays.


Leetcode 2348. Number of Zero-Filled Subarrays的评论 (共 条)

分享到微博请遵守国家法律