zoukankan      html  css  js  c++  java
  • 一周刷完剑指offer-9-变态跳台阶

    变态跳台阶

    1. 题目描述

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

    2. 示例

    3. 解题思路

    相当于找规律的一道题目:

    如果是1级 -> 1种

    如果是2级 -> 一次跳2级 【2】,一次一次跳【1,1】, 2种

    如果是3级 -> 【1,1,1】【1,2】【2,1】【3】,4种

    如果是4级 -> 【1111】【112】【13】【121】【211】【22】【31】【4】,8种

    所以找到规律:跳法 target = 2 的 (target-1) 次方

    4. Java实现

    public class Solution {
        public int JumpFloorII(int target) {
            if (target == 1) return 1;
            int res = 1 ;
            for (int i = 1; i < target; i++){
                res *= 2;
            }
            return res;
        }
    }
    

    5. Python实现

    # -*- coding:utf-8 -*-
    class Solution:
        def jumpFloorII(self, number):
            # write code here
            if number == 1:
                return 1
            
            res = 1
            for i in range(1, number):
                res *= 2
            return res
    

    如果您觉得本文有用,请点个“在看”

    image.png

  • 相关阅读:
    LVM(逻辑卷管理器)部署、扩容、缩小
    部署磁盘阵列
    docker安装
    Linux基础命令
    awk补充
    awk
    shell脚本--grep与正则表达式
    文本处理工具 -wc、cut、sort、uniq的用法及参数
    Shell脚本编程原理
    重定向与管道符
  • 原文地址:https://www.cnblogs.com/junge-mike/p/13685430.html
Copyright © 2011-2022 走看看