看到题目,马上想到的是贪心算法。
但是!!
可恶啊!为什么超时了
没事,可以优化一下!
但是还是失败了。。
人都麻了哟
上代码吧,官方题解:
class Solution:
def longestSubsequence(self, arr: List[int], difference: int) -> int:
dp = defaultdict(int)
for v in arr:
dp[v] = dp[v - difference] + 1
return max(dp.values())