1218. 最长定差子序列
为保证权益,题目请参考 1218. 最长定差子序列(From LeetCode).
解决方案1
Python
python
# 1218. 最长定差子序列
# https://leetcode-cn.com/problems/longest-arithmetic-subsequence-of-given-difference/
################################################################################
from typing import List
from collections import defaultdict
class Solution:
def longestSubsequence(self, arr: List[int], difference: int) -> int:
dp = defaultdict(int)
for i in range(len(arr)):
dp[arr[i]] = dp[arr[i] - difference] + 1
return max(dp.values())
################################################################################
if __name__ == "__main__":
solution = Solution()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21