有规律的子序列一律用动态规划+map做
当前值的最长序列等于其上一个值的最长序列+1
int longestSubsequence(vector<int>& arr, int difference) {
unordered_map<int,int> mp;
int ans=0;
for(int c:arr){
mp[c]=mp[c-difference]+1;
ans=max(ans,mp[c]);
}
return ans;
}