剪绳子算法--动态规划法

使用动态规划法求解剪绳子问题,products中保存每一段的最优解

int maxProductAfterCutting_sholution(int length){
    if(length<2){
        return 0;
    }
    if (length==2) {
        return 1;
    }
    if (length==3) {
        return 2;
    }
    int * products=new int[length+1];
    products[0]=0;
    products[1]=1;
    products[2]=2;
    products[3]=3;

    int max=0;
    for (int i=4; i<=length; ++i) {
        max=0;
        for (int j=1; j<=i/2; ++j) {
            int product=products[j]*products[i-j];
            if(maxmax=product;
            }
            products[i]=max;
        }
    }
    max=products[length];
    delete[] products;
    return max;
}

你可能感兴趣的:(算法学习)