【剑指 Offer】14- I. 剪绳子

    科技2022-07-17  119

    题目:14- I. 剪绳子

    分析: 当绳子长度大于4时,尽可能多的分成长度为3的小段,这样乘积是最大的。(数学证明自行查找)

    思路:

    n小于4时,返回n-1;n等于4时,返回4;n大于4时,就要切割成长度为3的小段,只要n还大于4,每切除一段3,就累乘起来。

    代码:

    class Solution { public int cuttingRope(int n) { if(n < 4){ return n - 1; }else if(n == 4){ return n; } int res = 1; while(n > 4){ res *= 3; n -= 3; } return res*n; } }
    Processed: 0.009, SQL: 8