Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public int longestArithSeqLength(int[] nums) {
- int n=nums.length;
- int dp[][]=new int[1001][501];
- int max=0;
- for(int i=0;i<=500;i++)
- {
- dp[nums[0]][i]=1;
- }
- for(int i=1;i<n;i++)
- {
- for(int j=0;j<=nums[i];j++)
- {
- dp[nums[i]][j]=dp[nums[i]-j][j]+1;
- max=Math.max(max,dp[nums[i]][j]);
- }
- }
- dp=new int[1001][501];
- for(int i=0;i<=500;i++)
- {
- dp[nums[n-1]][i]=1;
- }
- for(int i=n-2;i>=0;i--)
- {
- for(int j=0;j<=nums[i];j++)
- {
- dp[nums[i]][j]=dp[nums[i]-j][j]+1;
- max=Math.max(max,dp[nums[i]][j]);
- }
- }
- return max;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement