class Solution {
public int waysToStep(int n) {
if(n <= 2)
return n;
if(n == 3)
return 4;
int n1 = 1;
int n2 = 2;
int n3 = 4;
int step = n % 3;int t = 0;
n /= 3;
for(int i = 1; i <= n;i++){
n1 += (n2 + n3)%1000000007;
n1 %= 1000000007;
n2 += (n3 + n1)%1000000007;
n2 %= 1000000007;
t = n3;
n3 += (n1 + n2)%1000000007;
n3 %= 1000000007;
}
if(step == 0)
return t;
if(step == 1)
return n1;
if(step == 2)
return n2;
return 0;
}
}
力扣1800三步问题(dp迭代写法(省内存))
猜你喜欢
转载自blog.csdn.net/m0_45311187/article/details/109781949
今日推荐
周排行