美文网首页
1218. 最长定差子序列

1218. 最长定差子序列

作者: 来到了没有知识的荒原 | 来源:发表于2021-01-10 17:01 被阅读0次

    1218. 最长定差子序列

    LIS还能这样优化的

    class Solution {
    public:
        int longestSubsequence(vector<int>& arr, int difference) {
            unordered_map<int,set<int>>mp,mp2;
            int n=arr.size();
            int dp[n];
            memset(dp,0,sizeof dp);
            for(int i=0;i<n;i++){
                dp[i]=1;
                if(mp.count(arr[i]-difference)){
                    for(auto j:mp[arr[i]-difference]){
                        dp[i]=max(dp[i],dp[j]+1);
                    }
                }
                mp[arr[i]].insert(i);
            }
            int res=0;
            for(int i=0;i<n;i++)res=max(res,dp[i]);
            return res;
        }
    };
    

    相关文章

      网友评论

          本文标题:1218. 最长定差子序列

          本文链接:https://www.haomeiwen.com/subject/yhjkoktx.html