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版题解