递归做的比较简单

剪绳子

http://www.nowcoder.com/questionTerminal/57d85990ba5b440ab888fc72b0751bf8

public class Solution {
    public int cutRope(int target) {
        if(target > 60 || target < 2){
            return -1;
        }
        if(target < 4){
            return target - 1;
        }
        return cutRopeMax(target);
    }

    private int cutRopeMax(int target){
        if(target < 5){
            return target;
        }else{
            return 3 * cutRopeMax(target - 3);
        }
    }
}
//
public class Solution {
    public int cutRope(int target) {
        int sum = 1;
        if(target < 4){
            return target - 1;
        }
        while(target > 4){
            sum *= 3;
            target -= 3;
        }
        sum *= target;
        return sum;


    }
}
全部评论

相关推荐

找到实习就改名4月17日下午更改:1600一个月?
点赞 评论 收藏
分享
评论
6
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务