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;
}