Advertisement
Nevada112

Untitled

Jun 23rd, 2023
885
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.61 KB | None | 1 0
  1. class Solution {
  2.     public int longestArithSeqLength(int[] nums) {
  3.     int n=nums.length;
  4.     int dp[][]=new int[1001][501];
  5. int max=0;
  6. for(int i=0;i<=500;i++)
  7. {
  8.     dp[nums[0]][i]=1;
  9. }
  10. for(int i=1;i<n;i++)
  11. {
  12.     for(int j=0;j<=nums[i];j++)
  13.     {
  14.         dp[nums[i]][j]=dp[nums[i]-j][j]+1;
  15.         max=Math.max(max,dp[nums[i]][j]);
  16.     }
  17. }
  18. dp=new int[1001][501];
  19.  
  20. for(int i=0;i<=500;i++)
  21. {
  22.     dp[nums[n-1]][i]=1;
  23. }
  24. for(int i=n-2;i>=0;i--)
  25. {
  26.     for(int j=0;j<=nums[i];j++)
  27.     {
  28.         dp[nums[i]][j]=dp[nums[i]-j][j]+1;
  29.         max=Math.max(max,dp[nums[i]][j]);
  30.     }
  31. }
  32.  
  33. return max;
  34.     }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement