3101.交替子数组计数
链接:3101.交替子数组计数
难度:Medium
标签:数组、数学
简介:返回数组 nums 中交替子数组的数量。
题解 1 - python
- 编辑时间:2024-07-06
- 执行用时:102ms
- 内存消耗:20.2MB
- 编程语言:python
- 解法介绍:遍历时获取最长交替子数组用 等差数列求和。
class Solution:
def countAlternatingSubarrays(self, nums: List[int]) -> int:
n = len(nums)
res = cur = 0
while cur < n:
start = cur
while cur + 1 < n and nums[cur] != nums[cur + 1]: cur += 1
res += (1 + (cur - start + 1)) * (cur - start + 1) // 2
cur += 1
return res