#力扣 LeetCode面試題 08.01. 三步問題 @FDDLC
阿新 • • 發佈:2021-02-14
技術標籤:演算法&資料結構
題目描述:
https://leetcode-cn.com/problems/three-steps-problem-lcci/
Java程式碼:
class Solution { //f(1)=1,f(2)=2,f(3)=4,f(4)= public int waysToStep(int n) { //n範圍在[1, 1000000]之間 int[] a={7,1,2,4}; for(int i=5;i<=n;i++)a[i%4]=((a[(i+1)%4]+a[(i+2)%4])%1000000007+a[(i+3)%4])%1000000007; return a[n%4]; //注意:要取模!!! } }
使用long型別:
class Solution { //f(1)=1,f(2)=2,f(3)=4,f(4)=
public int waysToStep(int n) { //n範圍在[1, 1000000]之間
long[] a={7,1,2,4};
for(int i=5;i<=n;i++)a[i%4]=(a[(i+1)%4]+a[(i+2)%4]+a[(i+3)%4])%1000000007;
return (int)a[n%4]; //注意:要取模!!!
}
}