-
发表于 2024.07.06
-
比较简单的动态规划题目,使用
dp[i]
表示以A[i]
结尾的交替子数组的个数,那么状态转移方程为dp[i] = dp[i - 1] + 1 if A[i] != A[i - 1] else 1
。最后的结果累加dp
数组即可。class Solution: def countAlternatingSubarrays(self, nums: List[int]) -> int: ans = 1 dp = 1 for i in range(1, len(nums)): dp = dp + 1 if nums[i] != nums[i - 1] else 1 ans += dp return ans
- LC 题目链接
-