当前位置:   article > 正文

力扣1137. 第 N 个泰波那契数_c语言c++给你整数n,请返回第 n 个泰波那契数 t(n) 的值。

c语言c++给你整数n,请返回第 n 个泰波那契数 t(n) 的值。

泰波那契序列 Tn 定义如下: 

T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2

给你整数 n,请返回第 n 个泰波那契数 Tn 的值。

 

 

  1. class Solution {
  2. public:
  3. int tribonacci(int n) {
  4. //由于n>=3的时候才满足Tn+3 = Tn + Tn+1 + Tn+2,所以当n<3的时候要做特殊的判断
  5. if(n==0){
  6. return 0;
  7. }
  8. if(n==1||n==2){
  9. return 1;
  10. }
  11. //创建dp数组,由于下标是从0开始的,所以dp数组大小应该为n+1,dp数组的元素值为该下标所对应的泰波那契数
  12. vector<int> dp(n+1);
  13. //dp数组,边界值初始化
  14. dp[0]=0;
  15. dp[1]=1;
  16. dp[2]=1;
  17. //推导递推公式,根据Tn+3 = Tn + Tn+1 + Tn+2
  18. for(int i=3;i<n+1;++i){
  19. dp[i]=dp[i-1]+dp[i-2]+dp[i-3];
  20. }
  21. return dp[n];
  22. }
  23. };

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/948537
推荐阅读
相关标签
  

闽ICP备14008679号