LeetCode(剑指 Offer)- II. 剪绳子 II

Posted 放羊的牧码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(剑指 Offer)- II. 剪绳子 II相关的知识,希望对你有一定的参考价值。

题目链接:点击打开链接

题目大意:

解题思路

相关企业

  • 字节跳动
  • 亚马逊
  • 美团
  • 酷家乐
  • Boss 直聘
  • 百度

AC 代码

  • Java
class Solution 
    public int cuttingRope(int n) 
        if(n <= 3) return n - 1;
        int b = n % 3, p = 1000000007;
        long rem = 1, x = 3;
        for(int a = n / 3 - 1; a > 0; a /= 2) 
            if(a % 2 == 1) rem = (rem * x) % p;
            x = (x * x) % p;
        
        if(b == 0) return (int)(rem * 3 % p);
        if(b == 1) return (int)(rem * 4 % p);
        return (int)(rem * 6 % p);
    
  • C++
class Solution 
public:
    int cuttingRope(int n) 
        if(n <= 3) return n - 1;
        int b = n % 3, p = 1000000007;
        long rem = 1, x = 3;
        for(int a = n / 3 - 1; a > 0; a /= 2) 
            if(a % 2 == 1) rem = (rem * x) % p;
            x = (x * x) % p;
        
        if(b == 0) return (int)(rem * 3 % p);
        if(b == 1) return (int)(rem * 4 % p);
        return (int)(rem * 6 % p);
    
;

以上是关于LeetCode(剑指 Offer)- II. 剪绳子 II的主要内容,如果未能解决你的问题,请参考以下文章

[LeetCode]剑指 Offer 14- II. 剪绳子 II

剑指 Offer 14- II. 剪绳子 II(数学推导,贪心)

算法---- Leetcode剑指offer-Java版题解

算法---- Leetcode剑指offer-Java版题解

剑指offer--14-II 剪绳子

剑指 Offer 14- II. 剪绳子 II