剑指——剪绳子

public class Solution {
    public int cutRope(int target) {
        if(target < 2) 
            return 0;
        if(target == 2)
            return 1;
        if(target == 3)
            return 2;
        //先尽可能功能多的去剪3
        int a = target/3;
        //当绳子只剩下4的时候就不能再剪了
        if(target-a*3 == 1)
            a = a-1;
        //将剩下的4剪成长度为2的
        int b = (target-a*3)/2;
        //求所有3的乘积和2的乘积相乘得最大乘积
        return (int)(Math.pow(3,a)*Math.pow(2,b));
            
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_43562937/article/details/106950439