LeetCode 面试题08.01. 三步问题

题目描述:
LeetCode面试题08.01. 三步问题
类型简单

思路:
f(n)=f(n-1)+f(n-2)+f(n-3);
动态规划

代码如下:

class Solution {
public:
    int waysToStep(int n) {
       if(n<3)   return n;
       if(n==3)  return 4;
       int temp1=1,temp2=2,temp3=4,sum=0;
        while(n>=4){
            sum=((temp1+temp2)%1000000007+temp3)%1000000007;
            temp1=temp2;
            temp2=temp3;
            temp3=sum;
            n--;
        }
        return sum;
    }
};

你可能感兴趣的:(leetcode)