Integer Break

找规律:

[supsystic-tables id=’2′]

public class Solution {
    public int integerBreak(int n) {
        if(n == 2)
            return 1;
        if(n == 3)
            return 2;
        if(n == 4)
            return 4;
        int[] dp = new int[n+1];
        dp[0] = 0;
        dp[1] = 1;
        dp[2] = 1;
        dp[3] = 2;
        dp[4] = 4;
        for(int i = 5; i <=n; i++) {
            dp[i] = 3*Math.max((i-3),dp[i-3]);
        }
        return dp[n];
    }
}