和昨天的一样,只不过范围更大了
正好昨天没用贪心,今天正好可以补一下
小坑:对十亿取模,而我们的计算过程中最多乘3,是有可能超出int取值21亿的,所以要用long
自己的(0ms)
class Solution {
public int cuttingRope(int n) {
if(n <= 3)
return n - 1;
long ans = 1;
if(n % 3 == 1){
n -= 4;
ans = 4;
}
else if(n % 3 == 2){
n -= 2;
ans = 2;
}
while(n > 0){
ans *= 3;
ans %= 1000000007;
n -= 3;
}
return (int)ans;
}
}