剑指 Offer 14- II. 剪绳子 II

121 阅读1分钟

剑指 Offer 14- II. 剪绳子 II

这是一个数学结论,只需要记住就行了

  • 绳子长度 > 4 ,不断减去长度3
  • 直到绳子长度小于等于4
  • 最后所有段相乘,就是最大的乘积
var cuttingRope = function(n) {
    if(n <= 4){
        var arr = [null,null,1,2,4]
        return arr[n]
    }
    var mod = 1000000007
    var res = 1
    // n > 4
    // 5 6 7 8 9 ...
    while(n > 4){ // n <= 4
        res = (res * 3) % mod
        n = n -3
    }
    res = (res * n) % mod
    return res
};