Arithmetic Slices II - Subsequence LeetCode solution in Python
1class Solution:2def numberOfArithmeticSlices(self, nums: List[int]) -> int:3sz, dp, ans = len(nums), [defaultdict(int) for _ in range(len(nums))], 04for i in range(1, sz):5for j in range(i):6difference = nums[i] - nums[j]7dp[i][difference] += 18if difference in dp[j]:9dp[i][difference] += dp[j][difference]10ans += dp[j][difference]11return ans