zoukankan      html  css  js  c++  java
  • 【leetcode】509. Fibonacci Number

    problem

    509. Fibonacci Number

     solution1: 递归调用

    class Solution {
    public:
        int fib(int N) {
            if(N<2) return N;
            return fib(N-1) + fib(N-2);
        }
    };

    solution2: 结果只与前两个数字有关。

    class Solution {
    public:
        int fib(int N) {
            if(N<2) return N;
            int a = 0;
            int b = 1;
            int sum =0;
            for(int i=2; i<=N; i++)//err...
            {
                sum = a + b;
                a = b;
                b = sum;
            }
            return sum;
        }
    };

    solution3: 使用数组类型数据。

     但是不知道哪里有问题,为什么一直没有通过。。。哪位大神看到知道原因的麻烦告知一下下哈~

    /*error...
    class Solution {
    public:
        int fib(int N) {
            vector<int> dp(N + 1);
            dp[0] = 0; dp[1] = 1;
            for (int i = 2; i <= N; ++i) {
                dp[i] = dp[i - 1] + dp[i - 2];
            }
            return dp[N];
        }
    };
    */
    /*error。。。
    class Solution {
    public:
        int fib(int N) {
            //int f[N+1] = {0};
            vector<int> f(N+1);
            f[0] = 0;
            f[1] = 1;
            for(int i=2; i<=N; i++)
            {
                f[i] = f[i-1] + f[i-2];
            }
            return f[N];
            
        }
    };
    */

    参考

    1. Leetcode_509. Fibonacci Number;

    2. GrandYang;

  • 相关阅读:
    js固定在顶部
    css垂直居中
    HTML 5离线存储
    jdbc数据库操作
    I/O输入输出流
    异常处理
    java实现冒泡排序算法
    Java 方法
    java 循环 基本类型
    Java中Arrays工具类
  • 原文地址:https://www.cnblogs.com/happyamyhope/p/10925643.html
Copyright © 2011-2022 走看看