剑指offer之剪绳子

在这里插入图片描述
解题思路,找出最优解的规律
当target等于1,2,3的时候,结果是固定的
当target大于3的时候,可以看以下数据
target=4, 最优解:2 2
target=5, 最优解:3 2
target=6, 最优解:3 3
target=7, 最优解:3 2 2
target=8, 最优解:3 3 2
target=9, 最优解:3 3 3
target=10,最优解:3 3 2 2
target=11,最优解:3 3 3 2
target=12,最优解:3 3 3 3
target=13,最优解:3 3 3 2 2
target=14,最优解:3 3 3 3 2
target=15,最优解:3 3 3 3 3

所以不难发现3和2的个数规律

    public int cutRope(int target) {
        if (target<=1) {
            return 0;
        }
        if (target == 2) {
            return 1;
        }
        if (target == 3) {
            return 2;
        }
        int Length = target%3 == 0?target/3:target/3+1;
        int Length2 =  target%3 == 0?0:3-target%3;
        int result = 1;
        for (int i = 0;i<Length;i++) {
            result = result*(i<Length-Length2?3:2);
        }
        return result;

    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lhj_loveFang_1105

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值