zoukankan      html  css  js  c++  java
  • 9 斐波那契数列

    大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。

    n<=39

    1 1 2 3 5...

    C++:

     1 class Solution {
     2 public:
     3     int Fibonacci(int n) {
     4         if (n == 1)
     5             return 1 ;
     6         int f1 = 0 ;
     7         int f2 = 1 ;
     8         int f3 = 0 ;
     9         for(int i = 2 ; i <= n ; i++){
    10             f3 = f1 + f2 ;
    11             f1 = f2 ;
    12             f2 = f3 ;
    13         }
    14         return f3 ;
    15     }
    16 };

    一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法

    1 2 3 5...

    f(n)=f(n-1)+f(n-2)
    注意 f1=1 f2=2

    C++:

     1 class Solution {
     2 public:
     3     int jumpFloor(int number) {
     4         if (number == 1)
     5             return 1 ;
     6         int f1 = 1 ;
     7         int f2 = 1 ;
     8         int f3 = 0 ;
     9         for(int i = 2 ; i <= number ; i++){
    10             f3 = f1 + f2 ;
    11             f1 = f2 ;
    12             f2 = f3 ;
    13         }
    14         return f3 ;
    15     }
    16 };

    我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

    一样的做法

    一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

    f(n)=2^(n-1)

    C++:

    1 class Solution {
    2 public:
    3     int jumpFloorII(int number) {
    4         return pow(2,number-1) ;
    5     }
    6 };

    java:

     1 public int JumpFloorII(int n) {
     2     int[] dp = new int[n];
     3     Arrays.fill(dp, 1);
     4     for(int i = 1; i < n; i++) {
     5         for(int j = 0; j < i; j++) {
     6             dp[i] += dp[j];
     7         }
     8     }
     9     return dp[n - 1];
    10 }
  • 相关阅读:
    浅析WPhone、Android的Back与Home键
    Android音频播放之SoundPool
    Button、ImageButton及ImageView详解
    文本 To 音频
    gravity、layout_gravity及orientation
    项目规范性检测工具Lint
    Android视频播放之VideoView
    ContentProvider数据访问详解
    QQ第三方登录
    Android数据共享
  • 原文地址:https://www.cnblogs.com/mengchunchen/p/7998006.html
Copyright © 2011-2022 走看看