跳到主要内容

1218.最长定差子序列

链接:1218.最长定差子序列
难度:Medium
标签:数组、哈希表、动态规划
简介:给你一个整数数组  arr  和一个整数  difference,请你找出并返回 arr  中最长等差子序列的长度,该子序列中相邻元素之间的差等于 difference 。

题解 1 - typescript

  • 编辑时间:2021-11-05
  • 执行用时:96ms
  • 内存消耗:48.5MB
  • 编程语言:typescript
  • 解法介绍:哈希存储。
function longestSubsequence(arr: number[], difference: number): number {
let max = 1;
const map = new Map<number, number>();
for (const num of arr) {
const cnt = (map.get(num) ?? 0) + 1;
map.set(num + difference, cnt);
max = Math.max(max, cnt);
}
return max;
}