class Solution:
def longestSubsequence(self, arr, difference) -> int:
n = len(arr)
dp = [1] * n
res = 0
for i in range(1, n):
for j in range(0, i):
if arr[j] == arr[i] - difference:
dp[i] = dp[j] + 1
res = max(res, dp[i])
return res
class Solution:
def longestSubsequence(self, arr, difference) -> int:
dp = {}
res = 0
for num in arr:
dp[num] = dp.get(num - difference, 0) + 1
for key in dp:
res = max(res, dp[key])
return res