剑指offer-14-I 剪绳子

感觉完全是数学题了呀!

![image-20210131165926321](C:UserspeekapooAppDataRoamingTypora ypora-user-imagesimage-20210131165926321.png)

反正看了题解,尽量分成长度为3,余下的视情况调整。

 ![image-20210131170105058](C:UserspeekapooAppDataRoamingTypora ypora-user-imagesimage-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;
  }
};

 

原文地址:https://www.cnblogs.com/peekapoooo/p/14353155.html