剑指offer-14-I 剪绳子
![image-20210131165926321](C:\Users\peekapoo\AppData\Roaming\Typora\typora-user-images\image-20210131165926321.png)
反正看了题解,尽量分成长度为3,余下的视情况调整。
![image-20210131170105058](C:\Users\peekapoo\AppData\Roaming\Typora\typora-user-images\image-20210131170105058.png)
那这道题的解法就变成了,先求最多能有多少个整的3,然后根据余数,分情况返回。
需要注意,题目要求至少切一刀。
那么当长度为2和3时,就需要单独判断。【如上图】
var cuttingRope = function(n) {
if(n === 2) return 1;
if(n === 3) return 2;
let m = Math.floor(n / 3);
let yushu = n - m*3;
switch(yushu){
case 0:
return Math.pow(3, m);
case 1:
return Math.pow(3, m-1)*4;
case 2:
return Math.pow(3, m)*2;
}
};