Skip to content

Latest commit

 

History

History
24 lines (17 loc) · 716 Bytes

1218. 最长定差子序列.md

File metadata and controls

24 lines (17 loc) · 716 Bytes
  • 哈希表 + 动态规划
function longestSubsequence(arr: number[], difference: number): number {

    const map: Map<number, number> = new Map<number, number>(),
        length: number = arr.length;

    let maxLen: number = 1;

    for (let i = 0; i < length; ++i) {
        // 代码块回答了一个问题: 以arr[i]结尾的等差数列长度是多长呢?
        const lastNumber: number = arr[i] - difference;
        const value: number = (map.get(lastNumber) || 0) + 1;
        map.set(arr[i], value);
        maxLen = Math.max(maxLen, value);
    }

    return maxLen;
};