NC68 跳台阶

  算法   1分钟   340浏览   0评论

题目链接:https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4

题目描述

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

数据范围:1≤n≤40

要求:时间复杂度:O(n) ,空间复杂度: O(1)

示例 1:

输入:2
返回值:2
说明:青蛙要跳上两级台阶有两种跳法,分别是:先跳一级,再跳一级或者直接跳两级。因此答案为2

示例 2:

输入:7
返回值:21

解题代码

public class Solution {
    public int jumpFloor(int target) {
        int[] dp = new int[target];
        dp[0] = 1;
        if (target >= 2) {
            dp[1] = 2;
            for (int i = 2; i < target; i++) {
                dp[i] = dp[i - 1] + dp[i - 2];
            }
        }
        return dp[target - 1];
    }
}

如果你觉得文章对你有帮助,那就请作者喝杯咖啡吧☕
微信
支付宝
  0 条评论