int getMaximumGenerated(int n){ if(n<2) return n==0?0:1; int max=0; int *nums=(int *)malloc(sizeof(int)*(n+1)); nums[0]=0;nums[1]=1; for(int j=2;j<=n;j++){ if(j&1) nums[j]=nums[j/2]+nums[j/2+1]; else nums[j]=nums[j/2]; max=max<nums[j]?nums[j]:max; } return max; }
|