题目链接:1218. 最长定差子序列
动态规划。
class Solution:
def longestSubsequence(self, arr: List[int], difference: int) -> int:
func = {arr[0]: 1}
for i in range(1, len(arr)):
if arr[i] - difference in func:
func[arr[i]] = func[arr[i] - difference] + 1
else:
func[arr[i]] = 1
return max(func.values())