leetcode:1027. 最长等差数列(dp,中等)

    科技2022-08-05  122

    题目:

    分析:等差数列问题,我选择枚举差值。公差为0-。。的情况下,求解最值。

    easy,代码又有问题,找不出来。o(╥﹏╥)o。

    代码:

    #include<bits/stdc++.h> using namespace std; int main() { vector<int> A; int B[20005]; int maxx=-1,minn=1000000; for(int i=0;i<A.size();i++) { maxx=max(maxx,A[i]); minn=min(minn,A[i]); }q int t=maxx-minn; int ans=0; //差大于0 for(int i=0;i<=t;i++) { memset(B,0,sizeof(B)); for(int j=0;j<A.size();j++) { if(A[j]-i>=0) { B[A[j]]=max(B[A[j]],1+B[A[j]-i]); ans=max(ans,B[A[j]]); } } } for(int i=0;i<=t;i++) { memset(B,0,sizeof(B)); for(int j=0;j<A.size();j++) { { B[A[j]]=max(B[A[j]],1+B[A[j]+i]); ans=max(ans,B[A[j]]); } } } return ans; }
    Processed: 0.010, SQL: 8