public class Solution { public int cutRope(int target) { int[] dp = new int[target+1] ;//dp[i]表示长度为i的绳子的最大积 dp[1] = 1 ; dp[2] = 1 ; for(int i = 3 ; i <= target ; i ++) { dp[i] = 0 ; //最后一段的长度 for(int j = 1 ; j < i ; j ++) { if(j * dp[i-j] > dp[i]) { dp[i] = j*dp[i-j] ; } //如果就是段呢 if(j * (i-j) > dp[i]) { dp[i] = j*(i-j) ; } } } return dp[target] ; } }