llllmz

导航

343. 整数拆分c

关键就在于,分还是不分是个问题。

int max(int i,int j){
    if(i>j) return i;
    return j;
}

int integerBreak(int n) {
    int* dp=(int*)malloc(sizeof(int)*(n+4));
    dp[0]=0,dp[1]=0,dp[2]=1,dp[3]=2;
    for(int i=4;i<=n;i++){
        int maxn=0;
        for(int j=2;j<i;j++){
            int t=max(j*(i-j),j*dp[i-j]);
            if(t>maxn) maxn=t;
        }
        dp[i]=maxn;
    }
    return dp[n];
}

结果:

posted on 2024-03-11 22:00  神奇的萝卜丝  阅读(20)  评论(0)    收藏  举报