int[] a = {7,1,5,3,6,4}

 不是动态规划,没有状态转移方程。

第i日最大收益:d[i] = a[i]-min(a{0,i-1})
n个第i日构成的数组D[i],D[i]中最大值即为所求。

int getMaxProfit(int[] a,int len){

    int min = a[0];
    int[] D = new int[len];
    for(int i=1; i<len; i++){
        if(a[i-1]<min){
            min = a[i];
        }
        curMax = a[i] - min;
        D[i] = curMax;
    }
    int max = D[0];
    for(int i =0;i<len; i++){
        if(D[i]>max){
            max = D[i];
        }
    }
   delete[] D;
return max; }

 

相关文章:

  • 2022-12-23
  • 2021-10-04
  • 2022-12-23
  • 2021-12-02
  • 2021-05-24
  • 2021-04-04
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-25
  • 2022-12-23
  • 2022-03-08
  • 2021-12-27
相关资源
相似解决方案