一、题目地址
https://leetcode-cn.com/problems/jian-sheng-zi-ii-lcof/
二、具体代码
/**
* @param {number} n
* @return {number}
*/
// 时间复杂度:O(N)
// 空间复杂度:O(1)
var cuttingRope = function(n) {
if(n <= 3) {
return n - 1;
}
let a = Math.trunc(n / 3);
let b = Math.trunc(n % 3);
let ret = 1;
// 1、循环取余做法
for(let i=1; i<a; i++) {
ret = (ret * 3) % 1000000007;
}
// 2、三种情况的判断
if(b === 0) {
return (ret * 3) % 1000000007;
}
if(b === 2) {
return (ret * 3 * 2) % 1000000007;
}
return (ret * 2 * 2) % 1000000007;
};